export interface PasskeyConfig {
    publicKey: string;
    credentialId: string;
    algorithm: number;
}
export interface UnlockParams {
    signature: string;
    credentialId: string;
    authenticatorData: string;
    clientDataJSON: string;
    challenge: string;
}
export declare class WorkerPasskeyAuthService {
    private passkeyConfig;
    private locked;
    private sessionExpiry;
    private sessionDurationMs;
    private pendingChallenge;
    private pendingChallengeExpiry;
    private readonly CHALLENGE_TTL_MS;
    constructor(passkeyConfig: PasskeyConfig, sessionDurationHours?: number);
    isLocked(): boolean;
    generateChallenge(): string;
    unlock(params: UnlockParams): Promise<{
        success: boolean;
        reason?: string;
    }>;
    lock(): void;
    getSessionInfo(): {
        locked: boolean;
        expiresAt: string;
    };
    getCredentialId(): string;
    private verifySignature;
}
