export interface PendingPermission { sessionId: string; permissionId: string; tool: string; description: string; risk?: string; chatId: string; userId: string; createdAt: number; cardMessageId?: string; parentSessionId?: string; relatedSessionId?: string; } declare class PermissionHandler { private pendingByChat; private normalizeToolName; private removeExpired; isToolWhitelisted(toolName: unknown): boolean; enqueueForChat(chatId: string, data: { sessionId: string; permissionId: string; tool: string; description: string; risk?: string; userId?: string; cardMessageId?: string; parentSessionId?: string; relatedSessionId?: string; }): PendingPermission; peekForChat(chatId: string): PendingPermission | undefined; getQueueSizeForChat(chatId: string): number; resolveForChat(chatId: string, permissionId: string): PendingPermission | undefined; addPending(key: string, data: Omit): void; getPending(key: string): PendingPermission | undefined; removePending(key: string): PendingPermission | undefined; cleanupExpired(): void; } export declare const permissionHandler: PermissionHandler; export {}; //# sourceMappingURL=handler.d.ts.map