// Signature format: 4.0
package androidx.privacysandbox.ui.client {

  public interface LocalSdkActivityLauncher<T extends android.app.Activity & androidx.lifecycle.LifecycleOwner> extends androidx.privacysandbox.ui.core.SdkActivityLauncher {
    method public void dispose();
  }

  @RequiresApi(android.os.Build.VERSION_CODES.TIRAMISU) public final class SandboxedUiAdapterFactory {
    method public androidx.privacysandbox.ui.core.SandboxedUiAdapter createFromCoreLibInfo(android.os.Bundle coreLibInfo);
    field public static final androidx.privacysandbox.ui.client.SandboxedUiAdapterFactory INSTANCE;
  }

  public final class SdkActivityLaunchers {
    method public static <T extends android.app.Activity & androidx.lifecycle.LifecycleOwner> androidx.privacysandbox.ui.client.LocalSdkActivityLauncher<T> createSdkActivityLauncher(T, kotlin.jvm.functions.Function0<java.lang.Boolean> allowLaunch);
    method public static android.os.Bundle toLauncherInfo(androidx.privacysandbox.ui.core.SdkActivityLauncher);
  }

}

package androidx.privacysandbox.ui.client.view {

  public abstract sealed class SandboxedSdkUiSessionState {
  }

  public static final class SandboxedSdkUiSessionState.Active extends androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState {
    field public static final androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState.Active INSTANCE;
  }

  public static final class SandboxedSdkUiSessionState.Error extends androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState {
    ctor public SandboxedSdkUiSessionState.Error(Throwable throwable);
    method public Throwable getThrowable();
    property public final Throwable throwable;
  }

  public static final class SandboxedSdkUiSessionState.Idle extends androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState {
    field public static final androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState.Idle INSTANCE;
  }

  public static final class SandboxedSdkUiSessionState.Loading extends androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState {
    field public static final androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState.Loading INSTANCE;
  }

  public fun interface SandboxedSdkUiSessionStateChangedListener {
    method public void onStateChanged(androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionState state);
  }

  @RequiresApi(android.os.Build.VERSION_CODES.TIRAMISU) public final class SandboxedSdkView extends android.view.ViewGroup {
    ctor public SandboxedSdkView(android.content.Context context);
    ctor public SandboxedSdkView(android.content.Context context, optional android.util.AttributeSet? attrs);
    method public void addStateChangedListener(androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionStateChangedListener stateChangedListener);
    method public void removeStateChangedListener(androidx.privacysandbox.ui.client.view.SandboxedSdkUiSessionStateChangedListener stateChangedListener);
    method public void setAdapter(androidx.privacysandbox.ui.core.SandboxedUiAdapter sandboxedUiAdapter);
    method public void setZOrderOnTopAndEnableUserInteraction(boolean setOnTop);
  }

}

