import { EventEmitter } from 'events'; export interface ApprovalRequest { id: string; action: string; description: string; context?: Record; timeoutMs: number; defaultAction: 'approve' | 'deny'; createdAt: number; } export interface ApprovalResponse { requestId: string; decision: 'approve' | 'deny'; respondedBy?: string; respondedAt: number; timedOut: boolean; } export type ApprovalHandler = (request: ApprovalRequest) => Promise; export interface HITLConfig { /** Actions that always require approval */ requireApproval: string[]; /** Default timeout in ms */ defaultTimeoutMs: number; /** Default action on timeout */ defaultAction: 'approve' | 'deny'; } export declare class HITLManager extends EventEmitter { private config; private handler; private pending; private logger; constructor(config?: Partial); setHandler(handler: ApprovalHandler): void; needsApproval(action: string): boolean; requestApproval(action: string, description: string, context?: Record): Promise; respond(requestId: string, decision: 'approve' | 'deny', respondedBy?: string): boolean; getPending(): ApprovalRequest[]; private createTimeout; private timeoutResponse; } //# sourceMappingURL=hitl.d.ts.map