import type { ExecutorKind } from "./executors.js"; import { type TerminalControlRef } from "./terminal-control-ref.js"; export interface TerminalUserExplicitSendFacts { readonly exactTerminalRow: boolean; readonly terminalId?: string; readonly processState?: string; readonly terminalControl?: TerminalControlRef; readonly agent?: ExecutorKind; readonly pid?: number; readonly processUuid?: string; readonly processBirth?: string; readonly approvalScanned: boolean; readonly approvalBlocked: boolean; /** A native questionnaire currently owns terminal input. */ readonly interactionActive: boolean; /** A proven menu, editor, viewer, or history-search surface owns input. */ readonly inputOwnerBlocked: boolean; readonly userExplicitComposerReady: boolean; } export type TerminalUserExplicitSendEligibility = { readonly eligible: false; } | { readonly eligible: true; readonly terminalId: string; readonly terminalControl: TerminalControlRef; readonly agent: ExecutorKind; readonly pid: number; readonly workspace: string; readonly processUuid: string; readonly processBirth: string; }; /** Decide physical user-Send eligibility without generating private authority. */ export declare function decideTerminalUserExplicitSendEligibility(facts: TerminalUserExplicitSendFacts): TerminalUserExplicitSendEligibility;