// Signature format: 4.0
package androidx.lifecycle {

  public abstract class LiveData<T> {
    ctor public LiveData();
    ctor public LiveData(T!);
    method public T? getValue();
    method public boolean hasActiveObservers();
    method public boolean hasObservers();
    method public boolean isInitialized();
    method @MainThread public void observe(androidx.lifecycle.LifecycleOwner, androidx.lifecycle.Observer<? super T>);
    method @MainThread public void observeForever(androidx.lifecycle.Observer<? super T>);
    method protected void onActive();
    method protected void onInactive();
    method protected void postValue(T!);
    method @MainThread public void removeObserver(androidx.lifecycle.Observer<? super T>);
    method @MainThread public void removeObservers(androidx.lifecycle.LifecycleOwner);
    method @MainThread protected void setValue(T!);
  }

  public class MutableLiveData<T> extends androidx.lifecycle.LiveData<T> {
    ctor public MutableLiveData();
    ctor public MutableLiveData(T!);
    method public void postValue(T!);
    method public void setValue(T!);
  }

  public fun interface Observer<T> {
    method public void onChanged(T? value);
  }

}

