import { type LiveDeliveryAuthorization, type PreDispatchAdviceAuthorization } from "../live/contact-journal.js"; import { type ClaudeCodeCompatibilityEvidence } from "../providers/preflight.js"; import { type ProcessResult, type ProcessRunner } from "../providers/process.js"; import { type LinuxProcessIdentity } from "../runtime/process-identity.js"; declare const TMUX_SESSION = "oms"; export interface InteractiveProcessRequest { readonly command: string; readonly args: readonly string[]; readonly cwd: string; readonly env: NodeJS.ProcessEnv; } export type InteractiveProcessRunner = (request: InteractiveProcessRequest) => ProcessResult; export interface ConductorStartResult { readonly action: "created" | "resumed" | "attached"; readonly tmux_session: typeof TMUX_SESSION; readonly pane_id: string; readonly claude_session_id: string; readonly claude_version: string; readonly live_delivery_authorization: LiveDeliveryAuthorization | null; readonly pre_dispatch_advice_authorization: PreDispatchAdviceAuthorization | null; } export interface ConductorBridgeSessionBinding { readonly session_id: string; readonly actor_id: "oms-conductor"; readonly pane_id: string; readonly launch_generation: number; } export interface ConductorRuntimeBinding extends ConductorBridgeSessionBinding { readonly process_id: number; } export declare function conductorLaunchRequiresHumanConfirmation(options: { readonly configRoot: string; readonly stateRoot: string; readonly workspaceRoot: string; readonly providerVersion: ClaudeCodeCompatibilityEvidence["version"]; readonly env?: NodeJS.ProcessEnv; readonly processRunner?: ProcessRunner; }): boolean; export declare function requireStoredConductorAuthorization(stateRoot: string, workspaceRoot: string): { readonly liveDeliveryAuthorization: LiveDeliveryAuthorization; readonly preDispatchAdviceAuthorization: PreDispatchAdviceAuthorization; }; export declare function startConductor(options: { readonly packageRoot: string; readonly configRoot: string; readonly workspaceRoot: string; readonly stateRoot: string; readonly executablePath: string; readonly env?: NodeJS.ProcessEnv; readonly processRunner?: ProcessRunner; readonly interactiveRunner?: InteractiveProcessRunner; readonly now?: () => string; readonly sessionIdFactory?: () => string; readonly attach?: boolean; readonly resumeOnly?: boolean; readonly liveDeliveryRepository?: string; readonly confirmLiveDelivery?: boolean; }): ConductorStartResult; export declare function assertConductorBridgeSession(options: { readonly workspaceRoot: string; readonly stateRoot: string; readonly sessionId: string; }): ConductorBridgeSessionBinding; export declare function inspectConductorRuntimeBinding(options: { readonly workspaceRoot: string; readonly stateRoot: string; readonly sessionId: string; readonly env?: NodeJS.ProcessEnv; readonly processRunner?: ProcessRunner; }): ConductorRuntimeBinding; export declare function wakeConductorWithNotification(options: { readonly workspaceRoot: string; readonly stateRoot: string; readonly sessionId: string; readonly launchGeneration: number; readonly paneId: string; readonly conductorProcess: LinuxProcessIdentity; readonly notificationId: string; readonly env?: NodeJS.ProcessEnv; readonly processRunner?: ProcessRunner; }): void; export {};