import type { TerminalModelControlPlan } from "./terminal-model-control-profile.js"; import type { TerminalModelControlResidualKind } from "./terminal-model-control-contract.js"; import type { ExecutorKind } from "./executors.js"; import { type TerminalModelControlBehaviorProfile } from "./terminal-model-control-profile.js"; import { type TerminalControlRef } from "./terminal-control-ref.js"; export interface TerminalModelControlSubjectInput { readonly terminalId?: string; readonly terminalControl?: TerminalControlRef; readonly agent?: ExecutorKind; readonly pid?: number; readonly workspace?: string; readonly processUuid?: string; readonly processBirth?: string; readonly agentVersion?: string; readonly behaviorProfile?: string; } /** Canonical physical and profile identity shared by projection and mutation. */ export interface CanonicalTerminalModelControlSubject { readonly terminalId: string; readonly terminalControl: TerminalControlRef; readonly terminalEndpointIdentity: string; readonly terminalProcessAnchorPid: number; readonly agent: ExecutorKind; readonly pid: number; readonly workspace: string; readonly processUuid: string; readonly processBirth: string; readonly agentVersion: string; readonly behaviorProfile: TerminalModelControlBehaviorProfile; } /** * Normalize one model-control subject without granting an action. Invalid or * unsupported facts return undefined so read-only projection remains closed; * mutation callers may turn that result into an action-specific error. */ export declare function canonicalModelControlSubject(input: TerminalModelControlSubjectInput): CanonicalTerminalModelControlSubject | undefined; /** * One action-specific physical authority token for fresh Codex model control. * The domain separator and exact profile keep this authority from being reused * as Send or native-lifecycle authority even though all bind the same pane. */ export declare function terminalUserExplicitModelControlBindingToken(value: { terminalId: string; terminalControl: TerminalControlRef; pid: number; workspace: string; processUuid: string; processBirth: string; agentVersion: string; behaviorProfile: TerminalModelControlPlan["behaviorProfile"]; }): string; /** * Snapshot authority for adopting and cleaning one exact native `/model` * residual. The residual kind and normalized surface digest prevent a token * for one popup, pane generation, or bare Composer from authorizing another. */ export declare function terminalUserExplicitModelControlRepairBindingToken(value: { terminalId: string; terminalControl: TerminalControlRef; pid: number; workspace: string; processUuid: string; processBirth: string; agentVersion: string; behaviorProfile: TerminalModelControlPlan["behaviorProfile"]; residualKind: TerminalModelControlResidualKind; residualFingerprint: string; }): string; /** * Snapshot authority for continuing one exact native `/model` residual into * the read-only catalog picker. This is deliberately domain-separated from * cleanup-only repair: a repair offer never authorizes Enter, while this * offer authorizes exactly one profiled slash-command dispatch. */ export declare function terminalUserExplicitModelControlResidualEntryBindingToken(value: { terminalId: string; terminalControl: TerminalControlRef; pid: number; workspace: string; processUuid: string; processBirth: string; agentVersion: string; behaviorProfile: TerminalModelControlPlan["behaviorProfile"]; residualKind: TerminalModelControlResidualKind; residualFingerprint: string; }): string;