// Signature format: 4.0
package androidx.credentials {

  public final class ClearCredentialStateRequest {
    ctor public ClearCredentialStateRequest();
  }

  public abstract class CreateCredentialRequest {
    method public final String? getOrigin();
    property public final String? origin;
  }

  public static final class CreateCredentialRequest.DisplayInfo {
    ctor public CreateCredentialRequest.DisplayInfo(CharSequence userId, optional CharSequence? userDisplayName);
    ctor public CreateCredentialRequest.DisplayInfo(CharSequence userId);
    method public CharSequence? getUserDisplayName();
    method public CharSequence getUserId();
    property public final CharSequence? userDisplayName;
    property public final CharSequence userId;
  }

  public abstract class CreateCredentialResponse {
  }

  public class CreateCustomCredentialRequest extends androidx.credentials.CreateCredentialRequest {
    ctor public CreateCustomCredentialRequest(String type, android.os.Bundle credentialData, android.os.Bundle candidateQueryData, boolean isSystemProviderRequired, androidx.credentials.CreateCredentialRequest.DisplayInfo displayInfo, optional boolean isAutoSelectAllowed, optional String? origin);
    ctor public CreateCustomCredentialRequest(String type, android.os.Bundle credentialData, android.os.Bundle candidateQueryData, boolean isSystemProviderRequired, androidx.credentials.CreateCredentialRequest.DisplayInfo displayInfo, optional boolean isAutoSelectAllowed);
    ctor public CreateCustomCredentialRequest(String type, android.os.Bundle credentialData, android.os.Bundle candidateQueryData, boolean isSystemProviderRequired, androidx.credentials.CreateCredentialRequest.DisplayInfo displayInfo);
    method public final android.os.Bundle getCandidateQueryData();
    method public final android.os.Bundle getCredentialData();
    method public final String getType();
    method public final boolean isAutoSelectAllowed();
    method public final boolean isSystemProviderRequired();
    property public final android.os.Bundle candidateQueryData;
    property public final android.os.Bundle credentialData;
    property public final boolean isAutoSelectAllowed;
    property public final boolean isSystemProviderRequired;
    property public final String type;
  }

  public class CreateCustomCredentialResponse extends androidx.credentials.CreateCredentialResponse {
    ctor public CreateCustomCredentialResponse(String type, android.os.Bundle data);
    method public final android.os.Bundle getData();
    method public final String getType();
    property public final android.os.Bundle data;
    property public final String type;
  }

  public final class CreatePasswordRequest extends androidx.credentials.CreateCredentialRequest {
    ctor public CreatePasswordRequest(String id, String password, optional String? origin);
    ctor public CreatePasswordRequest(String id, String password);
    method public String getId();
    method public String getPassword();
    property public final String id;
    property public final String password;
  }

  public final class CreatePasswordResponse extends androidx.credentials.CreateCredentialResponse {
    ctor public CreatePasswordResponse();
  }

  public final class CreatePublicKeyCredentialRequest extends androidx.credentials.CreateCredentialRequest {
    ctor public CreatePublicKeyCredentialRequest(String requestJson, optional String? clientDataHash, optional boolean preferImmediatelyAvailableCredentials, optional String? origin);
    ctor public CreatePublicKeyCredentialRequest(String requestJson, optional String? clientDataHash, optional boolean preferImmediatelyAvailableCredentials);
    ctor public CreatePublicKeyCredentialRequest(String requestJson, optional String? clientDataHash);
    ctor public CreatePublicKeyCredentialRequest(String requestJson);
    method public String? getClientDataHash();
    method public boolean getPreferImmediatelyAvailableCredentials();
    method public String getRequestJson();
    property public final String? clientDataHash;
    property public final boolean preferImmediatelyAvailableCredentials;
    property public final String requestJson;
  }

  public final class CreatePublicKeyCredentialResponse extends androidx.credentials.CreateCredentialResponse {
    ctor public CreatePublicKeyCredentialResponse(String registrationResponseJson);
    method public String getRegistrationResponseJson();
    property public final String registrationResponseJson;
  }

  public abstract class Credential {
  }

  public final class CredentialManager {
    method public suspend Object? clearCredentialState(androidx.credentials.ClearCredentialStateRequest request, kotlin.coroutines.Continuation<? super kotlin.Unit>);
    method public void clearCredentialStateAsync(androidx.credentials.ClearCredentialStateRequest request, android.os.CancellationSignal? cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback<java.lang.Void,androidx.credentials.exceptions.ClearCredentialException> callback);
    method public static androidx.credentials.CredentialManager create(android.content.Context context);
    method public suspend Object? createCredential(androidx.credentials.CreateCredentialRequest request, android.app.Activity activity, kotlin.coroutines.Continuation<? super androidx.credentials.CreateCredentialResponse>);
    method public void createCredentialAsync(androidx.credentials.CreateCredentialRequest request, android.app.Activity activity, android.os.CancellationSignal? cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback<androidx.credentials.CreateCredentialResponse,androidx.credentials.exceptions.CreateCredentialException> callback);
    method public suspend Object? getCredential(androidx.credentials.GetCredentialRequest request, android.app.Activity activity, kotlin.coroutines.Continuation<? super androidx.credentials.GetCredentialResponse>);
    method public void getCredentialAsync(androidx.credentials.GetCredentialRequest request, android.app.Activity activity, android.os.CancellationSignal? cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback<androidx.credentials.GetCredentialResponse,androidx.credentials.exceptions.GetCredentialException> callback);
    field public static final androidx.credentials.CredentialManager.Companion Companion;
  }

  public static final class CredentialManager.Companion {
    method public androidx.credentials.CredentialManager create(android.content.Context context);
  }

  public interface CredentialManagerCallback<R, E> {
    method public void onError(E e);
    method public void onResult(R result);
  }

  public abstract class CredentialOption {
  }

  public interface CredentialProvider {
    method public boolean isAvailableOnDevice();
    method public void onClearCredential(androidx.credentials.ClearCredentialStateRequest request, android.os.CancellationSignal? cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback<java.lang.Void,androidx.credentials.exceptions.ClearCredentialException> callback);
    method public void onCreateCredential(androidx.credentials.CreateCredentialRequest request, android.app.Activity activity, android.os.CancellationSignal? cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback<androidx.credentials.CreateCredentialResponse,androidx.credentials.exceptions.CreateCredentialException> callback);
    method public void onGetCredential(androidx.credentials.GetCredentialRequest request, android.app.Activity activity, android.os.CancellationSignal? cancellationSignal, java.util.concurrent.Executor executor, androidx.credentials.CredentialManagerCallback<androidx.credentials.GetCredentialResponse,androidx.credentials.exceptions.GetCredentialException> callback);
  }

  public class CustomCredential extends androidx.credentials.Credential {
    ctor public CustomCredential(String type, android.os.Bundle data);
    method public final android.os.Bundle getData();
    method public final String getType();
    property public final android.os.Bundle data;
    property public final String type;
  }

  public final class GetCredentialRequest {
    ctor public GetCredentialRequest(java.util.List<? extends androidx.credentials.CredentialOption> credentialOptions, optional String? origin);
    ctor public GetCredentialRequest(java.util.List<? extends androidx.credentials.CredentialOption> credentialOptions);
    method public java.util.List<androidx.credentials.CredentialOption> getCredentialOptions();
    method public String? getOrigin();
    property public final java.util.List<androidx.credentials.CredentialOption> credentialOptions;
    property public final String? origin;
  }

  public static final class GetCredentialRequest.Builder {
    ctor public GetCredentialRequest.Builder();
    method public androidx.credentials.GetCredentialRequest.Builder addCredentialOption(androidx.credentials.CredentialOption credentialOption);
    method public androidx.credentials.GetCredentialRequest build();
    method public androidx.credentials.GetCredentialRequest.Builder setCredentialOptions(java.util.List<? extends androidx.credentials.CredentialOption> credentialOptions);
    method public androidx.credentials.GetCredentialRequest.Builder setOrigin(String origin);
  }

  public final class GetCredentialResponse {
    ctor public GetCredentialResponse(androidx.credentials.Credential credential);
    method public androidx.credentials.Credential getCredential();
    property public final androidx.credentials.Credential credential;
  }

  public class GetCustomCredentialOption extends androidx.credentials.CredentialOption {
    ctor public GetCustomCredentialOption(String type, android.os.Bundle requestData, android.os.Bundle candidateQueryData, boolean isSystemProviderRequired, optional boolean isAutoSelectAllowed);
    ctor public GetCustomCredentialOption(String type, android.os.Bundle requestData, android.os.Bundle candidateQueryData, boolean isSystemProviderRequired);
    method public final android.os.Bundle getCandidateQueryData();
    method public final android.os.Bundle getRequestData();
    method public final String getType();
    method public final boolean isAutoSelectAllowed();
    method public final boolean isSystemProviderRequired();
    property public final android.os.Bundle candidateQueryData;
    property public final boolean isAutoSelectAllowed;
    property public final boolean isSystemProviderRequired;
    property public final android.os.Bundle requestData;
    property public final String type;
  }

  public final class GetPasswordOption extends androidx.credentials.CredentialOption {
    ctor public GetPasswordOption(optional boolean isAutoSelectAllowed);
    ctor public GetPasswordOption();
    method public boolean isAutoSelectAllowed();
    property public boolean isAutoSelectAllowed;
  }

  public final class GetPublicKeyCredentialOption extends androidx.credentials.CredentialOption {
    ctor public GetPublicKeyCredentialOption(String requestJson, optional String? clientDataHash, optional boolean preferImmediatelyAvailableCredentials);
    ctor public GetPublicKeyCredentialOption(String requestJson, optional String? clientDataHash);
    ctor public GetPublicKeyCredentialOption(String requestJson);
    method public String? getClientDataHash();
    method public boolean getPreferImmediatelyAvailableCredentials();
    method public String getRequestJson();
    property public final String? clientDataHash;
    property public final boolean preferImmediatelyAvailableCredentials;
    property public final String requestJson;
  }

  public final class PasswordCredential extends androidx.credentials.Credential {
    ctor public PasswordCredential(String id, String password);
    method public String getId();
    method public String getPassword();
    property public final String id;
    property public final String password;
  }

  public final class PublicKeyCredential extends androidx.credentials.Credential {
    ctor public PublicKeyCredential(String authenticationResponseJson);
    method public String getAuthenticationResponseJson();
    property public final String authenticationResponseJson;
  }

}

package androidx.credentials.exceptions {

  public abstract class ClearCredentialException extends java.lang.Exception {
  }

  public final class ClearCredentialInterruptedException extends androidx.credentials.exceptions.ClearCredentialException {
    ctor public ClearCredentialInterruptedException(optional CharSequence? errorMessage);
    ctor public ClearCredentialInterruptedException();
  }

  public final class ClearCredentialProviderConfigurationException extends androidx.credentials.exceptions.ClearCredentialException {
    ctor public ClearCredentialProviderConfigurationException(optional CharSequence? errorMessage);
    ctor public ClearCredentialProviderConfigurationException();
  }

  public final class ClearCredentialUnknownException extends androidx.credentials.exceptions.ClearCredentialException {
    ctor public ClearCredentialUnknownException(optional CharSequence? errorMessage);
    ctor public ClearCredentialUnknownException();
  }

  public final class ClearCredentialUnsupportedException extends androidx.credentials.exceptions.ClearCredentialException {
    ctor public ClearCredentialUnsupportedException(optional CharSequence? errorMessage);
    ctor public ClearCredentialUnsupportedException();
  }

  public final class ClearCustomCredentialException extends androidx.credentials.exceptions.ClearCredentialException {
    ctor public ClearCustomCredentialException(String type, optional CharSequence? errorMessage);
    ctor public ClearCustomCredentialException(String type);
    method public String getType();
    property public String type;
  }

  public final class CreateCredentialCancellationException extends androidx.credentials.exceptions.CreateCredentialException {
    ctor public CreateCredentialCancellationException(optional CharSequence? errorMessage);
    ctor public CreateCredentialCancellationException();
  }

  public abstract class CreateCredentialException extends java.lang.Exception {
  }

  public final class CreateCredentialInterruptedException extends androidx.credentials.exceptions.CreateCredentialException {
    ctor public CreateCredentialInterruptedException(optional CharSequence? errorMessage);
    ctor public CreateCredentialInterruptedException();
  }

  public final class CreateCredentialNoCreateOptionException extends androidx.credentials.exceptions.CreateCredentialException {
    ctor public CreateCredentialNoCreateOptionException(optional CharSequence? errorMessage);
    ctor public CreateCredentialNoCreateOptionException();
  }

  public final class CreateCredentialProviderConfigurationException extends androidx.credentials.exceptions.CreateCredentialException {
    ctor public CreateCredentialProviderConfigurationException(optional CharSequence? errorMessage);
    ctor public CreateCredentialProviderConfigurationException();
  }

  public final class CreateCredentialUnknownException extends androidx.credentials.exceptions.CreateCredentialException {
    ctor public CreateCredentialUnknownException(optional CharSequence? errorMessage);
    ctor public CreateCredentialUnknownException();
  }

  public final class CreateCredentialUnsupportedException extends androidx.credentials.exceptions.CreateCredentialException {
    ctor public CreateCredentialUnsupportedException(optional CharSequence? errorMessage);
    ctor public CreateCredentialUnsupportedException();
  }

  public final class CreateCustomCredentialException extends androidx.credentials.exceptions.CreateCredentialException {
    ctor public CreateCustomCredentialException(String type, optional CharSequence? errorMessage);
    ctor public CreateCustomCredentialException(String type);
    method public String getType();
    property public String type;
  }

  public final class GetCredentialCancellationException extends androidx.credentials.exceptions.GetCredentialException {
    ctor public GetCredentialCancellationException(optional CharSequence? errorMessage);
    ctor public GetCredentialCancellationException();
  }

  public abstract class GetCredentialException extends java.lang.Exception {
  }

  public final class GetCredentialInterruptedException extends androidx.credentials.exceptions.GetCredentialException {
    ctor public GetCredentialInterruptedException(optional CharSequence? errorMessage);
    ctor public GetCredentialInterruptedException();
  }

  public final class GetCredentialProviderConfigurationException extends androidx.credentials.exceptions.GetCredentialException {
    ctor public GetCredentialProviderConfigurationException(optional CharSequence? errorMessage);
    ctor public GetCredentialProviderConfigurationException();
  }

  public final class GetCredentialUnknownException extends androidx.credentials.exceptions.GetCredentialException {
    ctor public GetCredentialUnknownException(optional CharSequence? errorMessage);
    ctor public GetCredentialUnknownException();
  }

  public final class GetCredentialUnsupportedException extends androidx.credentials.exceptions.GetCredentialException {
    ctor public GetCredentialUnsupportedException(optional CharSequence? errorMessage);
    ctor public GetCredentialUnsupportedException();
  }

  public final class GetCustomCredentialException extends androidx.credentials.exceptions.GetCredentialException {
    ctor public GetCustomCredentialException(String type, optional CharSequence? errorMessage);
    ctor public GetCustomCredentialException(String type);
    method public String getType();
    property public String type;
  }

  public final class NoCredentialException extends androidx.credentials.exceptions.GetCredentialException {
    ctor public NoCredentialException(optional CharSequence? errorMessage);
    ctor public NoCredentialException();
  }

}

package androidx.credentials.exceptions.domerrors {

  public final class AbortError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public AbortError();
  }

  public final class ConstraintError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public ConstraintError();
  }

  public final class DataCloneError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public DataCloneError();
  }

  public final class DataError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public DataError();
  }

  public abstract class DomError {
    ctor public DomError(String type);
  }

  public final class EncodingError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public EncodingError();
  }

  public final class HierarchyRequestError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public HierarchyRequestError();
  }

  public final class InUseAttributeError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public InUseAttributeError();
  }

  public final class InvalidCharacterError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public InvalidCharacterError();
  }

  public final class InvalidModificationError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public InvalidModificationError();
  }

  public final class InvalidNodeTypeError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public InvalidNodeTypeError();
  }

  public final class InvalidStateError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public InvalidStateError();
  }

  public final class NamespaceError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public NamespaceError();
  }

  public final class NetworkError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public NetworkError();
  }

  public final class NoModificationAllowedError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public NoModificationAllowedError();
  }

  public final class NotAllowedError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public NotAllowedError();
  }

  public final class NotFoundError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public NotFoundError();
  }

  public final class NotReadableError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public NotReadableError();
  }

  public final class NotSupportedError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public NotSupportedError();
  }

  public final class OperationError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public OperationError();
  }

  public final class OptOutError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public OptOutError();
  }

  public final class QuotaExceededError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public QuotaExceededError();
  }

  public final class ReadOnlyError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public ReadOnlyError();
  }

  public final class SecurityError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public SecurityError();
  }

  public final class SyntaxError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public SyntaxError();
  }

  public final class TimeoutError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public TimeoutError();
  }

  public final class TransactionInactiveError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public TransactionInactiveError();
  }

  public final class UnknownError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public UnknownError();
  }

  public final class VersionError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public VersionError();
  }

  public final class WrongDocumentError extends androidx.credentials.exceptions.domerrors.DomError {
    ctor public WrongDocumentError();
  }

}

package androidx.credentials.exceptions.publickeycredential {

  public final class CreatePublicKeyCredentialDomException extends androidx.credentials.exceptions.publickeycredential.CreatePublicKeyCredentialException {
    ctor public CreatePublicKeyCredentialDomException(androidx.credentials.exceptions.domerrors.DomError domError, optional CharSequence? errorMessage);
    ctor public CreatePublicKeyCredentialDomException(androidx.credentials.exceptions.domerrors.DomError domError);
    method public androidx.credentials.exceptions.domerrors.DomError getDomError();
    property public final androidx.credentials.exceptions.domerrors.DomError domError;
  }

  public class CreatePublicKeyCredentialException extends androidx.credentials.exceptions.CreateCredentialException {
  }

  public final class GetPublicKeyCredentialDomException extends androidx.credentials.exceptions.publickeycredential.GetPublicKeyCredentialException {
    ctor public GetPublicKeyCredentialDomException(androidx.credentials.exceptions.domerrors.DomError domError, optional CharSequence? errorMessage);
    ctor public GetPublicKeyCredentialDomException(androidx.credentials.exceptions.domerrors.DomError domError);
    method public androidx.credentials.exceptions.domerrors.DomError getDomError();
    property public final androidx.credentials.exceptions.domerrors.DomError domError;
  }

  public class GetPublicKeyCredentialException extends androidx.credentials.exceptions.GetCredentialException {
  }

}

