export type PermissionLevel = 'always' | 'ask_only' | 'session' | 'deny'; export type RequestType = 'ask' | 'tell' | 'broadcast'; export interface AgentPermission { agentName: string; permission: PermissionLevel; allowedTypes?: RequestType[]; addedAt: number; lastUsed?: number; } export interface PermissionsConfig { version: 1; defaultPolicy: 'prompt' | 'deny' | 'allow'; agents: Record; } export declare function loadPermissions(): PermissionsConfig; export declare function savePermissions(config: PermissionsConfig): void; export declare function setAgentPermission(agentName: string, permission: PermissionLevel, allowedTypes?: RequestType[]): void; export declare function getAgentPermission(agentName: string): AgentPermission | undefined; export declare function removeAgentPermission(agentName: string): void; export declare function setSessionPermission(agentName: string, permission: PermissionLevel): void; export declare function getSessionPermission(agentName: string): PermissionLevel | undefined; export declare function isRequestAllowed(agentName: string, requestType: RequestType): { allowed: boolean; reason: string; needsPrompt: boolean; }; export declare function promptForApproval(agentName: string, requestType: RequestType, content: string): Promise; export declare function listPermissions(): AgentPermission[]; export declare function setDefaultPolicy(policy: 'prompt' | 'deny' | 'allow'): void; //# sourceMappingURL=permissions.d.ts.map