import { WebSocket } from 'ws';
export interface AgentSession {
    ws: WebSocket;
    agentId: string;
    name: string;
    hostname: string;
    workDir: string;
    version: string;
    sessionId: string;
    sessionKey: Uint8Array | null;
    connectedAt: Date;
    isAlive: boolean;
    passwordHash: string | null;
    passwordSalt: string | null;
}
export interface WebClient {
    ws: WebSocket;
    clientId: string;
    sessionId: string;
    sessionKey: Uint8Array | null;
    connectedAt: Date;
    isAlive: boolean;
}
export declare const agents: Map<string, AgentSession>;
export declare const sessionToAgent: Map<string, string>;
export declare const webClients: Map<string, WebClient>;
export interface AuthAttemptState {
    failures: number;
    lockedUntil: Date | null;
}
export declare const authAttempts: Map<string, AuthAttemptState>;
export declare const pendingAuth: Map<string, string>;
export declare const serverSecret: NonSharedBuffer;
/**
 * Generate a short, URL-safe session ID
 */
export declare function generateSessionId(): string;
