#import <CredentialManagement/Credential.idl>
#import <CredentialManagement/FederatedCredential.idl>
#import <CredentialManagement/PasswordCredential.idl>

[Exposed=Window, SecureContext]
interface CredentialsContainer {
    Promise<Credential?> get(optional CredentialRequestOptions options = {});
    Promise<undefined> store(Credential credential);
    Promise<Credential?> create(optional CredentialCreationOptions options = {});
    Promise<undefined> preventSilentAccess();
};

dictionary CredentialRequestOptions {
    CredentialMediationRequirement mediation = "optional";
    AbortSignal signal;
};

dictionary CredentialCreationOptions {
    CredentialMediationRequirement mediation = "optional";
    AbortSignal signal;
};
