export type ApprovalPolicy = 'always' | 'dangerous' | 'never'; export interface ApprovalRequest { id: string; type: 'shell' | 'file_write' | 'file_delete' | 'network' | 'plugin'; command: string; description: string; requestedAt: Date; status: 'pending' | 'approved' | 'denied'; approvedBy?: string; } export declare class ApprovalManager { private policy; private pendingApprovals; private allowlist; private blocklist; private static readonly DANGEROUS_PATTERNS; constructor(policy?: ApprovalPolicy); getPolicy(): ApprovalPolicy; setPolicy(policy: ApprovalPolicy): void; needsApproval(type: string, command: string): boolean; private isDangerous; private isAllowed; private isBlocked; requestApproval(type: ApprovalRequest['type'], command: string, description: string): ApprovalRequest; approve(id: string, approver: string): void; deny(id: string, approver: string): void; getRequest(id: string): ApprovalRequest | undefined; addToAllowlist(pattern: string): void; removeFromAllowlist(pattern: string): void; addToBlocklist(pattern: string): void; removeFromBlocklist(pattern: string): void; getPending(): ApprovalRequest[]; getAllowlist(): string[]; getBlocklist(): string[]; } //# sourceMappingURL=approval.d.ts.map