// Signature format: 4.0
package androidx.wear.watchface.editor {

  public final class ChosenComplicationDataSource {
    ctor public ChosenComplicationDataSource(int complicationSlotId, androidx.wear.watchface.complications.ComplicationDataSourceInfo? complicationDataSourceInfo, android.os.Bundle extras);
    method public androidx.wear.watchface.complications.ComplicationDataSourceInfo? getComplicationDataSourceInfo();
    method public int getComplicationSlotId();
    method public android.os.Bundle getExtras();
    property public final androidx.wear.watchface.complications.ComplicationDataSourceInfo? complicationDataSourceInfo;
    property public final int complicationSlotId;
    property public final android.os.Bundle extras;
  }

  public final class EditorRequest {
    ctor @RequiresApi(android.os.Build.VERSION_CODES.R) public EditorRequest(android.content.ComponentName watchFaceComponentName, String editorPackageName, androidx.wear.watchface.style.UserStyleData? initialUserStyle, @RequiresApi(android.os.Build.VERSION_CODES.R) androidx.wear.watchface.client.WatchFaceId watchFaceId, androidx.wear.watchface.client.DeviceConfig? headlessDeviceConfig, androidx.wear.watchface.editor.PreviewScreenshotParams? previewScreenshotParams);
    ctor public EditorRequest(android.content.ComponentName watchFaceComponentName, String editorPackageName, androidx.wear.watchface.style.UserStyleData? initialUserStyle);
    method @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public static androidx.wear.watchface.editor.EditorRequest createFromIntent(android.content.Intent intent) throws kotlinx.coroutines.TimeoutCancellationException;
    method public String getEditorPackageName();
    method public androidx.wear.watchface.client.DeviceConfig? getHeadlessDeviceConfig();
    method public androidx.wear.watchface.style.UserStyleData? getInitialUserStyle();
    method public androidx.wear.watchface.editor.PreviewScreenshotParams? getPreviewScreenshotParams();
    method public android.content.ComponentName getWatchFaceComponentName();
    method @RequiresApi(android.os.Build.VERSION_CODES.R) public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
    property public final String editorPackageName;
    property public final androidx.wear.watchface.client.DeviceConfig? headlessDeviceConfig;
    property public final androidx.wear.watchface.style.UserStyleData? initialUserStyle;
    property public final androidx.wear.watchface.editor.PreviewScreenshotParams? previewScreenshotParams;
    property public final android.content.ComponentName watchFaceComponentName;
    property @RequiresApi(android.os.Build.VERSION_CODES.R) public final androidx.wear.watchface.client.WatchFaceId watchFaceId;
    field public static final androidx.wear.watchface.editor.EditorRequest.Companion Companion;
  }

  public static final class EditorRequest.Companion {
    method @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public androidx.wear.watchface.editor.EditorRequest createFromIntent(android.content.Intent intent) throws kotlinx.coroutines.TimeoutCancellationException;
  }

  public interface EditorSession extends java.lang.AutoCloseable {
    method @RequiresApi(27) @UiThread public default static androidx.wear.watchface.editor.EditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
    method @UiThread @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public default static suspend Object? createOnWatchEditorSession(androidx.activity.ComponentActivity activity, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.EditorSession>) throws kotlinx.coroutines.TimeoutCancellationException;
    method public Integer? getBackgroundComplicationSlotId();
    method @UiThread public Integer? getComplicationSlotIdAt(@Px int x, @Px int y);
    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> getComplicationSlotsState();
    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> getComplicationsDataSourceInfo();
    method public kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> getComplicationsPreviewData();
    method public java.time.Instant getPreviewReferenceInstant();
    method public kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> getUserStyle();
    method public androidx.wear.watchface.style.UserStyleSchema getUserStyleSchema();
    method public android.content.ComponentName getWatchFaceComponentName();
    method public androidx.wear.watchface.client.WatchFaceId getWatchFaceId();
    method @UiThread public boolean isCommitChangesOnClose();
    method @UiThread public suspend Object? openComplicationDataSourceChooser(int complicationSlotId, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.ChosenComplicationDataSource>);
    method @UiThread public android.graphics.Bitmap renderWatchFaceToBitmap(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant, java.util.Map<java.lang.Integer,? extends androidx.wear.watchface.complications.data.ComplicationData>? slotIdToComplicationData);
    method @UiThread public void setCommitChangesOnClose(boolean);
    property public abstract Integer? backgroundComplicationSlotId;
    property @UiThread public abstract boolean commitChangesOnClose;
    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.client.ComplicationSlotState>> complicationSlotsState;
    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.ComplicationDataSourceInfo>> complicationsDataSourceInfo;
    property public abstract kotlinx.coroutines.flow.StateFlow<java.util.Map<java.lang.Integer,androidx.wear.watchface.complications.data.ComplicationData>> complicationsPreviewData;
    property public abstract java.time.Instant previewReferenceInstant;
    property public abstract kotlinx.coroutines.flow.MutableStateFlow<androidx.wear.watchface.style.UserStyle> userStyle;
    property public abstract androidx.wear.watchface.style.UserStyleSchema userStyleSchema;
    property public abstract android.content.ComponentName watchFaceComponentName;
    property public abstract androidx.wear.watchface.client.WatchFaceId watchFaceId;
    field public static final androidx.wear.watchface.editor.EditorSession.Companion Companion;
    field public static final java.time.Instant DEFAULT_PREVIEW_INSTANT;
    field public static final java.time.Duration EDITING_SESSION_TIMEOUT;
  }

  public static final class EditorSession.Companion {
    method @RequiresApi(27) @UiThread public androidx.wear.watchface.editor.EditorSession createHeadlessEditorSession(androidx.activity.ComponentActivity activity, android.content.Intent editIntent, androidx.wear.watchface.client.HeadlessWatchFaceClient headlessWatchFaceClient);
    method @UiThread @kotlin.jvm.Throws(exceptionClasses=TimeoutCancellationException::class) public suspend Object? createOnWatchEditorSession(androidx.activity.ComponentActivity activity, kotlin.coroutines.Continuation<? super androidx.wear.watchface.editor.EditorSession>) throws kotlinx.coroutines.TimeoutCancellationException;
  }

  public final class EditorSessionKt {
  }

  public final class PreviewScreenshotParams {
    ctor public PreviewScreenshotParams(androidx.wear.watchface.RenderParameters renderParameters, java.time.Instant instant);
    method public java.time.Instant getInstant();
    method public androidx.wear.watchface.RenderParameters getRenderParameters();
    property public final java.time.Instant instant;
    property public final androidx.wear.watchface.RenderParameters renderParameters;
  }

  public class WatchFaceEditorContract extends androidx.activity.result.contract.ActivityResultContract<androidx.wear.watchface.editor.EditorRequest,kotlin.Unit> {
    ctor public WatchFaceEditorContract();
    method public android.content.Intent createIntent(android.content.Context context, androidx.wear.watchface.editor.EditorRequest input);
    method public void parseResult(int resultCode, android.content.Intent? intent);
    field public static final String ACTION_WATCH_FACE_EDITOR = "androidx.wear.watchface.editor.action.WATCH_FACE_EDITOR";
    field public static final androidx.wear.watchface.editor.WatchFaceEditorContract.Companion Companion;
  }

  public static final class WatchFaceEditorContract.Companion {
  }

  public final class WatchFaceEditorContractKt {
  }

}

