import { Page } from "@playwright/test"; export interface VirtualAuthenticatorOptions { protocol?: "ctap2" | "u2f"; transport?: "usb" | "nfc" | "ble" | "internal"; hasResidentKey?: boolean; hasUserVerification?: boolean; isUserVerified?: boolean; automaticPresenceSimulation?: boolean; } export interface WebAuthnCredential { credentialId: string; isResidentCredential: boolean; rpId: string; privateKey: string; userHandle: string; signCount: number; } export interface WebAuthnCredentialAddedEvent { authenticatorId: string; credential: { credentialId: string; isResidentCredential: boolean; rpId?: string; privateKey: string; userHandle?: string; signCount: number; }; } export declare class PasskeyAuthenticator { private authenticatorId?; private cdpSession?; private isInitialized; private page; constructor(page: Page); /** * Set a new Playwright Page for this authenticator and re-create the CDPSession. * This allows reusing the authenticator across different popups/pages. */ setPage(page: Page): Promise; initialize(options?: VirtualAuthenticatorOptions): Promise; simulateSuccessfulPasskeyInput(operationTrigger: () => Promise): Promise; getCredentials(): Promise; exportCredentials(): Promise; importCredential(cred: WebAuthnCredential): Promise; }