/** * An extension to the standard `PublicKeyCredentialRequestOptions`, with the `rpId` property required, * as needed for the Android native FIDO2 API. */ interface CustomPublicKeyCredentialRequestOptions extends PublicKeyCredentialRequestOptions { challenge: BufferSource; } /** * Request an Attestation - equivalent to the Credential Management API [`navigator.credentials.create()`](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create) operation, with the `publicKey` option. * This procedure is used during the [Registration Ceremony](https://w3c.github.io/webauthn/#registration-ceremony) to generate a new public key credential. * @param options the `PublicKeyCredentialCreationOptions` object containing the options for the registration, received from the Relying Party * @returns the `PublicKeyCredential` object returned by the Authenticator, containing the Attestation Response * @throws error if something goes wrong during the registration procedure */ declare function attestationRequest({ rp, user, challenge, pubKeyCredParams, timeout, excludeCredentials, authenticatorSelection, attestation, extensions, }: PublicKeyCredentialCreationOptions): Promise; /** * Request an Authentication Assertion - equivalent to the Credential Management API [`navigator.credentials.get()`](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get) operation, with the `publicKey` option. * This procedure is used during an [Authentication Ceremony](https://w3c.github.io/webauthn/#authentication-ceremony) to prove possession of the private key associated with one of the provided public key credentials. * @param options the `CustomPublicKeyCredentialRequestOptions` object containing the options for the assertion request, received from the Relying Party * @returns the `PublicKeyCredential` object returned by the Authenticator, containing the Assertion Response * @throws error if something goes wrong during the assertion request procedure */ declare function assertionRequest({ challenge, timeout, rpId, allowCredentials, userVerification, extensions, }: CustomPublicKeyCredentialRequestOptions): Promise; export { assertionRequest, attestationRequest };