import type { ToolRiskAssessment } from './risk.js'; export type PermissionDecision = 'pending' | 'approved' | 'rejected' | 'expired'; export interface PermissionRequest { id: string; sessionId: string; iteration?: number; tool: string; args: Record; risk: ToolRiskAssessment; status: PermissionDecision; reason?: string; createdAt: number; updatedAt: number; expiresAt: number; } /** 权限存储接口(上层实现持久化) */ export interface PermissionStore { readAll(): PermissionRequest[]; writeAll(items: PermissionRequest[]): void; } /** 内存权限存储(默认实现,进程重启丢失) */ export declare class InMemoryPermissionStore implements PermissionStore { private items; readAll(): PermissionRequest[]; writeAll(items: PermissionRequest[]): void; } /** 配置权限管理器 */ export declare function configurePermissionManager(options: { store?: PermissionStore; defaultTtlMs?: number; autoAllowApprovedRetry?: boolean; }): void; export declare function createPermissionRequest(input: Omit & { ttlMs?: number; }): PermissionRequest; export declare function listPermissionRequests(status?: PermissionDecision): PermissionRequest[]; export declare function findApprovedPermission(sessionId: string, tool: string, args: Record): PermissionRequest | null; export declare function decidePermissionRequest(id: string, approved: boolean, reason?: string): PermissionRequest | null; //# sourceMappingURL=permission.d.ts.map