// Signature format: 4.0
package androidx.lifecycle {

  public final class FlowExtKt {
    method public static <T> kotlinx.coroutines.flow.Flow<T> flowWithLifecycle(kotlinx.coroutines.flow.Flow<? extends T>, androidx.lifecycle.Lifecycle lifecycle, optional androidx.lifecycle.Lifecycle.State minActiveState);
  }

  public final class LifecycleDestroyedException extends java.util.concurrent.CancellationException {
    ctor public LifecycleDestroyedException();
  }

  public class LifecycleRegistry extends androidx.lifecycle.Lifecycle {
    ctor public LifecycleRegistry(androidx.lifecycle.LifecycleOwner provider);
    method @MainThread public void addObserver(androidx.lifecycle.LifecycleObserver observer);
    method @VisibleForTesting public static final androidx.lifecycle.LifecycleRegistry createUnsafe(androidx.lifecycle.LifecycleOwner owner);
    method public androidx.lifecycle.Lifecycle.State getCurrentState();
    method public int getObserverCount();
    method public void handleLifecycleEvent(androidx.lifecycle.Lifecycle.Event event);
    method @Deprecated @MainThread public void markState(androidx.lifecycle.Lifecycle.State state);
    method @MainThread public void removeObserver(androidx.lifecycle.LifecycleObserver observer);
    method public void setCurrentState(androidx.lifecycle.Lifecycle.State);
    property public androidx.lifecycle.Lifecycle.State currentState;
    property public kotlinx.coroutines.flow.StateFlow<androidx.lifecycle.Lifecycle.State> currentStateFlow;
    property public int observerCount;
    field public static final androidx.lifecycle.LifecycleRegistry.Companion Companion;
  }

  public static final class LifecycleRegistry.Companion {
    method @VisibleForTesting public androidx.lifecycle.LifecycleRegistry createUnsafe(androidx.lifecycle.LifecycleOwner owner);
  }

  @Deprecated public interface LifecycleRegistryOwner extends androidx.lifecycle.LifecycleOwner {
    method @Deprecated public androidx.lifecycle.LifecycleRegistry getLifecycle();
  }

  public final class RepeatOnLifecycleKt {
    method public static suspend Object? repeatOnLifecycle(androidx.lifecycle.Lifecycle, androidx.lifecycle.Lifecycle.State state, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super kotlin.Unit>);
    method public static suspend Object? repeatOnLifecycle(androidx.lifecycle.LifecycleOwner, androidx.lifecycle.Lifecycle.State state, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,? extends java.lang.Object?> block, kotlin.coroutines.Continuation<? super kotlin.Unit>);
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class ReportFragment extends android.app.Fragment {
    ctor public ReportFragment();
    method public static final androidx.lifecycle.ReportFragment get(android.app.Activity);
    method public static final void injectIfNeededIn(android.app.Activity activity);
    method public void onActivityCreated(android.os.Bundle? savedInstanceState);
    method public void onDestroy();
    method public void onPause();
    method public void onResume();
    method public void onStart();
    method public void onStop();
    method public final void setProcessListener(androidx.lifecycle.ReportFragment.ActivityInitializationListener? processListener);
    field public static final androidx.lifecycle.ReportFragment.Companion Companion;
  }

  public static interface ReportFragment.ActivityInitializationListener {
    method public void onCreate();
    method public void onResume();
    method public void onStart();
  }

  public static final class ReportFragment.Companion {
    method public androidx.lifecycle.ReportFragment get(android.app.Activity);
    method public void injectIfNeededIn(android.app.Activity activity);
    property public static androidx.lifecycle.ReportFragment android.app.Activity.reportFragment;
  }

  public final class ViewKt {
    method @Deprecated public static androidx.lifecycle.LifecycleOwner? findViewTreeLifecycleOwner(android.view.View view);
  }

  public final class ViewTreeLifecycleOwner {
    method public static androidx.lifecycle.LifecycleOwner? get(android.view.View);
    method public static void set(android.view.View, androidx.lifecycle.LifecycleOwner? lifecycleOwner);
  }

  public final class WithLifecycleStateKt {
    method @kotlin.PublishedApi internal static suspend <R> Object? suspendWithStateAtLeastUnchecked(androidx.lifecycle.Lifecycle, androidx.lifecycle.Lifecycle.State state, boolean dispatchNeeded, kotlinx.coroutines.CoroutineDispatcher lifecycleDispatcher, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method public static suspend inline <R> Object? withCreated(androidx.lifecycle.Lifecycle, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method public static suspend inline <R> Object? withCreated(androidx.lifecycle.LifecycleOwner, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method public static suspend inline <R> Object? withResumed(androidx.lifecycle.Lifecycle, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method public static suspend inline <R> Object? withResumed(androidx.lifecycle.LifecycleOwner, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method public static suspend inline <R> Object? withStarted(androidx.lifecycle.Lifecycle, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method public static suspend inline <R> Object? withStarted(androidx.lifecycle.LifecycleOwner, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method public static suspend inline <R> Object? withStateAtLeast(androidx.lifecycle.Lifecycle, androidx.lifecycle.Lifecycle.State state, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method public static suspend inline <R> Object? withStateAtLeast(androidx.lifecycle.LifecycleOwner, androidx.lifecycle.Lifecycle.State state, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
    method @kotlin.PublishedApi internal static suspend inline <R> Object? withStateAtLeastUnchecked(androidx.lifecycle.Lifecycle, androidx.lifecycle.Lifecycle.State state, kotlin.jvm.functions.Function0<? extends R> block, kotlin.coroutines.Continuation<? super R>);
  }

}

