// Signature format: 4.0
package androidx.savedstate {

  public final class SavedStateRegistry {
    method @MainThread public android.os.Bundle? consumeRestoredStateForKey(String key);
    method public androidx.savedstate.SavedStateRegistry.SavedStateProvider? getSavedStateProvider(String key);
    method @MainThread public boolean isRestored();
    method @MainThread public void registerSavedStateProvider(String key, androidx.savedstate.SavedStateRegistry.SavedStateProvider provider);
    method @MainThread public void runOnNextRecreation(Class<? extends androidx.savedstate.SavedStateRegistry.AutoRecreated> clazz);
    method @MainThread public void unregisterSavedStateProvider(String key);
    property @MainThread public final boolean isRestored;
  }

  public static interface SavedStateRegistry.AutoRecreated {
    method public void onRecreated(androidx.savedstate.SavedStateRegistryOwner owner);
  }

  public static fun interface SavedStateRegistry.SavedStateProvider {
    method public android.os.Bundle saveState();
  }

  public final class SavedStateRegistryController {
    method public static androidx.savedstate.SavedStateRegistryController create(androidx.savedstate.SavedStateRegistryOwner owner);
    method public androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
    method @MainThread public void performAttach();
    method @MainThread public void performRestore(android.os.Bundle? savedState);
    method @MainThread public void performSave(android.os.Bundle outBundle);
    property public final androidx.savedstate.SavedStateRegistry savedStateRegistry;
    field public static final androidx.savedstate.SavedStateRegistryController.Companion Companion;
  }

  public static final class SavedStateRegistryController.Companion {
    method public androidx.savedstate.SavedStateRegistryController create(androidx.savedstate.SavedStateRegistryOwner owner);
  }

  public interface SavedStateRegistryOwner extends androidx.lifecycle.LifecycleOwner {
    method public androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
    property public abstract androidx.savedstate.SavedStateRegistry savedStateRegistry;
  }

  public final class ViewTreeSavedStateRegistryOwner {
    method public static androidx.savedstate.SavedStateRegistryOwner? get(android.view.View);
    method public static void set(android.view.View, androidx.savedstate.SavedStateRegistryOwner? owner);
  }

}

