import type { TerminalAgentAdapter, TerminalRuntimeIdentity, TerminalControlRef } from "./terminal-agent-adapter.js"; import type { TerminalControlProvider } from "./terminal-control-provider.js"; import { type TerminalCodexStatusProbeResult, type TerminalNativeInspectionOptions } from "./terminal-native-inspection-bridge.js"; import { type TerminalPermissionCatalog, type TerminalPermissionSwitchResult } from "./terminal-permission-control.js"; export interface TerminalPermissionControlBridgeOptions { runtime?: TerminalRuntimeIdentity; beforeInput?: () => void | Promise; } interface PermissionRuntimePorts { provider: TerminalControlProvider; adapter: TerminalAgentAdapter; verifyIdentity(control: TerminalControlRef, runtime: TerminalRuntimeIdentity): Promise; submitStatus(control: TerminalControlRef, version: string, options: TerminalNativeInspectionOptions): Promise; captureStatus(control: TerminalControlRef, runtime: TerminalRuntimeIdentity, submission: TerminalCodexStatusProbeResult): Promise<{ screen: string; emptyComposer: boolean; }>; sleep(milliseconds: number): Promise; } /** Native permission UI composition, isolated from task execution and app-server writes. */ export declare class TerminalPermissionControlRuntime { private readonly ports; constructor(ports: PermissionRuntimePorts); permissionOptions: (control: TerminalControlRef, version: string, options: TerminalPermissionControlBridgeOptions) => Promise; setPermissions: (control: TerminalControlRef, version: string, mode: string, fingerprint: string, options: TerminalPermissionControlBridgeOptions) => Promise; private permissionControlPorts; } export {};