import { type TerminalControlRef } from "./terminal-control-ref.js"; export interface TerminalPermissionControlSafetyFacts { readonly exactTerminalRow: boolean; readonly terminalId: string; readonly processState: string; readonly agent: string; readonly pid: number; readonly terminalControl: TerminalControlRef; readonly processUuid?: string; readonly processBirth?: string; readonly agentVersion?: string; readonly approvalScanned: boolean; readonly approvalBlocked: boolean; readonly terminalHasInteraction: boolean; readonly terminalHasBlockingTurn: boolean; readonly hasOrphanedDispatch: boolean; readonly inputOwnerBlocked: boolean; readonly exactEmptyComposer: boolean; readonly screenState: string; readonly activityState: string; } export type TerminalPermissionControlAvailability = { readonly available: false; readonly reason: string; } | { readonly available: true; readonly terminalId: string; readonly expectedBindingToken: string; }; /** Physical authority is separate from native task identity and model control. */ export declare function terminalPermissionControlAvailability(facts: TerminalPermissionControlSafetyFacts): TerminalPermissionControlAvailability;