// Signature format: 3.0
package androidx.savedstate {

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

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

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

  public final class SavedStateRegistryController {
    method public static androidx.savedstate.SavedStateRegistryController create(androidx.savedstate.SavedStateRegistryOwner);
    method public androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
    method @MainThread public void performRestore(android.os.Bundle?);
    method @MainThread public void performSave(android.os.Bundle);
  }

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

  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?);
  }

}

