export interface AuthAttemptState { failures: number; lockedUntil: Date | null; } export declare class AuthManager { readonly authAttempts: Map; readonly pendingAuth: Map; readonly sessionAuth: Map; private serverSecret; onMutation?: () => void; constructor(serverSecret?: Buffer); hashPassword(password: string): { hash: string; salt: string; }; verifyPassword(submitted: string, storedHash: string, storedSalt: string): boolean; setSessionPassword(sessionId: string, hash: string, salt: string): void; clearSessionPassword(sessionId: string): void; getSessionAuth(sessionId: string): { passwordHash: string; passwordSalt: string; } | undefined; requiresAuth(sessionId: string): boolean; generateAuthToken(sessionId: string): string; verifyAuthToken(token: string, expectedSessionId: string): boolean; isLocked(sessionId: string): boolean; recordFailure(sessionId: string): { locked: boolean; remaining: number; }; clearFailures(sessionId: string): void; getServerSecret(): string; serialize(): { serverSecret: string; sessionAuth: Record; authAttempts: Record; }; loadFrom(data: { serverSecret?: string; sessionAuth?: Record; authAttempts?: Record; }): void; setPending(clientId: string, sessionId: string): void; getPending(clientId: string): string | undefined; removePending(clientId: string): void; } export declare const auth: AuthManager;