import type { TerminalCommandCliOptions, TerminalCommandPortView } from "./terminal-command-cli-ports.js"; export type TerminalApprovalCliPorts = TerminalCommandPortView<"acquireFileLock" | "acquireTerminalBridgeSendLock" | "assertExpectedHandoffTokenUsesExactTerminalSelector" | "assertManagedTerminalDispatchOwner" | "createTerminalAgentBridge" | "ensureTerminalBridgeMonitorAfterApproval" | "loadConversationFromOptions" | "migrateLegacyTerminalAgentIdentity" | "parseJsonOption" | "positiveMinutes" | "resolveTerminalConversationFromOptions" | "storeDirFromOptions" | "terminalBridgeEnabled" | "terminalControlFromTakeover" | "terminalDurableRequestForConversation" | "terminalList" | "terminalRuntimeIdentityForConversation">; export interface TerminalApprovalCliDependencies { ports: TerminalApprovalCliPorts; runtime: { now(): Date; nowMs(): number; log(level: "info" | "warn" | "error", event: string, fields: Record): void; printJson(value: unknown): void; }; defaults: { agentTimeoutMinutes: number; agentHardTimeoutMinutes: number; claudeScreenApprovalTtlMs: number; }; } export declare function runTerminalApproval(dependencies: TerminalApprovalCliDependencies, options: TerminalCommandCliOptions): Promise;