// Signature format: 4.0
package com.google.accompanist.permissions {

  @kotlin.RequiresOptIn(message="Accompanist Permissions is experimental. The API may be changed in the future.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalPermissionsApi {
  }

  @androidx.compose.runtime.Stable @com.google.accompanist.permissions.ExperimentalPermissionsApi public interface MultiplePermissionsState {
    method public boolean getAllPermissionsGranted();
    method public java.util.List<com.google.accompanist.permissions.PermissionState> getPermissions();
    method public java.util.List<com.google.accompanist.permissions.PermissionState> getRevokedPermissions();
    method public boolean getShouldShowRationale();
    method public void launchMultiplePermissionRequest();
    property public abstract boolean allPermissionsGranted;
    property public abstract java.util.List<com.google.accompanist.permissions.PermissionState> permissions;
    property public abstract java.util.List<com.google.accompanist.permissions.PermissionState> revokedPermissions;
    property public abstract boolean shouldShowRationale;
  }

  public final class MultiplePermissionsStateKt {
    method @androidx.compose.runtime.Composable @com.google.accompanist.permissions.ExperimentalPermissionsApi public static com.google.accompanist.permissions.MultiplePermissionsState rememberMultiplePermissionsState(java.util.List<java.lang.String> permissions, optional kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,java.lang.Boolean>,kotlin.Unit> onPermissionsResult);
  }

  public final class MutableMultiplePermissionsStateKt {
  }

  public final class MutablePermissionStateKt {
  }

  @androidx.compose.runtime.Stable @com.google.accompanist.permissions.ExperimentalPermissionsApi public interface PermissionState {
    method public String getPermission();
    method public com.google.accompanist.permissions.PermissionStatus getStatus();
    method public void launchPermissionRequest();
    property public abstract String permission;
    property public abstract com.google.accompanist.permissions.PermissionStatus status;
  }

  public final class PermissionStateKt {
    method @androidx.compose.runtime.Composable @com.google.accompanist.permissions.ExperimentalPermissionsApi public static com.google.accompanist.permissions.PermissionState rememberPermissionState(String permission, optional kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onPermissionResult);
  }

  @androidx.compose.runtime.Stable @com.google.accompanist.permissions.ExperimentalPermissionsApi public sealed interface PermissionStatus {
  }

  public static final class PermissionStatus.Denied implements com.google.accompanist.permissions.PermissionStatus {
    ctor public PermissionStatus.Denied(boolean shouldShowRationale);
    method public boolean component1();
    method public com.google.accompanist.permissions.PermissionStatus.Denied copy(boolean shouldShowRationale);
    method public boolean getShouldShowRationale();
    property public final boolean shouldShowRationale;
  }

  public static final class PermissionStatus.Granted implements com.google.accompanist.permissions.PermissionStatus {
    field public static final com.google.accompanist.permissions.PermissionStatus.Granted INSTANCE;
  }

  public final class PermissionsUtilKt {
    method public static boolean getShouldShowRationale(com.google.accompanist.permissions.PermissionStatus);
    method public static boolean isGranted(com.google.accompanist.permissions.PermissionStatus);
  }

}

