/**
 * WebAuthn/Passkey Utilities
 *
 * Shared passkey functionality for CounterMeasure applications.
 * Handles WebAuthn registration and authentication flows.
 */
export interface WebAuthnRegistrationOptions {
    publicKey: PublicKeyCredentialCreationOptions;
}
export interface WebAuthnAuthenticationOptions {
    publicKey: PublicKeyCredentialRequestOptions;
}
export interface RegistrationCredential {
    id: string;
    rawId: string;
    type: string;
    response: {
        clientDataJSON: string;
        attestationObject: string;
    };
}
export interface AuthenticationCredential {
    id: string;
    rawId: string;
    type: string;
    response: {
        clientDataJSON: string;
        authenticatorData: string;
        signature: string;
        userHandle?: string | undefined;
    };
}
/**
 * Convert a base64url string to Uint8Array.
 */
export declare function base64urlToUint8Array(base64url: string): Uint8Array;
/**
 * Convert a Uint8Array to base64url string.
 */
export declare function uint8ArrayToBase64url(array: Uint8Array): string;
/**
 * Convert ArrayBuffer to base64url string.
 */
export declare function arrayBufferToBase64url(buffer: ArrayBuffer): string;
/**
 * Check if WebAuthn is supported in the current browser.
 */
export declare function isWebAuthnSupported(): boolean;
/**
 * Check if platform authenticator (biometrics, Windows Hello, etc.) is available.
 */
export declare function isPlatformAuthenticatorAvailable(): Promise<boolean>;
/**
 * Prepare registration options from the server response.
 */
export declare function prepareRegistrationOptions(options: WebAuthnRegistrationOptions): PublicKeyCredentialCreationOptions;
/**
 * Prepare authentication options from the server response.
 */
export declare function prepareAuthenticationOptions(options: WebAuthnAuthenticationOptions): PublicKeyCredentialRequestOptions;
/**
 * Format registration credential for sending to the server.
 */
export declare function formatRegistrationCredential(credential: PublicKeyCredential): RegistrationCredential;
/**
 * Format authentication credential for sending to the server.
 */
export declare function formatAuthenticationCredential(credential: PublicKeyCredential): AuthenticationCredential;
/**
 * Register a new passkey.
 */
export declare function registerPasskey(options: WebAuthnRegistrationOptions): Promise<RegistrationCredential>;
/**
 * Authenticate with a passkey.
 */
export declare function authenticateWithPasskey(options: WebAuthnAuthenticationOptions): Promise<AuthenticationCredential>;
//# sourceMappingURL=index.d.ts.map