import type { ExecAsk, ExecSecurity } from "../infra/exec-approvals.js"; export type RequestExecApprovalDecisionParams = { id: string; command: string; commandArgv?: string[]; env?: Record; cwd: string; nodeId?: string; host: "gateway" | "node"; security: ExecSecurity; ask: ExecAsk; agentId?: string; resolvedPath?: string; sessionKey?: string; turnSourceChannel?: string; turnSourceTo?: string; turnSourceAccountId?: string; turnSourceThreadId?: string | number; }; export type ExecApprovalRegistration = { id: string; expiresAtMs: number; finalDecision?: string | null; }; export declare function registerExecApprovalRequest(params: RequestExecApprovalDecisionParams): Promise; export declare function waitForExecApprovalDecision(id: string): Promise; export declare function requestExecApprovalDecision(params: RequestExecApprovalDecisionParams): Promise; export declare function requestExecApprovalDecisionForHost(params: { approvalId: string; command: string; commandArgv?: string[]; env?: Record; workdir: string; host: "gateway" | "node"; nodeId?: string; security: ExecSecurity; ask: ExecAsk; agentId?: string; resolvedPath?: string; sessionKey?: string; turnSourceChannel?: string; turnSourceTo?: string; turnSourceAccountId?: string; turnSourceThreadId?: string | number; }): Promise; export declare function registerExecApprovalRequestForHost(params: { approvalId: string; command: string; commandArgv?: string[]; env?: Record; workdir: string; host: "gateway" | "node"; nodeId?: string; security: ExecSecurity; ask: ExecAsk; agentId?: string; resolvedPath?: string; sessionKey?: string; turnSourceChannel?: string; turnSourceTo?: string; turnSourceAccountId?: string; turnSourceThreadId?: string | number; }): Promise;