import type { HandlerEnv } from "../../../toolcraft/dist/index.js"; import type { TerminalPilotInstallerServices } from "./installer.js"; import { TerminalPilot, type NewSessionOptions } from "../terminal-pilot.js"; import type { TerminalSession } from "../terminal-session.js"; export declare const SESSION_ENV_VAR = "TERMINAL_PILOT_SESSION"; type SessionLike = Pick; type PilotLike = Pick; type ClosablePilotLike = PilotLike & Pick; type NamedSession = { name: string; session: SessionLike; }; type CreateSessionParams = NewSessionOptions & { session?: string; }; export interface TerminalPilotRuntime { createSession(params: CreateSessionParams, env?: HandlerEnv): Promise; resolveSession(name: string | undefined, env?: HandlerEnv): Promise; closeSession(name: string | undefined, env?: HandlerEnv): Promise<{ exitCode: number; name: string; }>; listSessions(): Promise; hasRetainedSessions(): Promise; close(): Promise; } export interface TerminalPilotCommandServices { terminalPilotRuntime?: TerminalPilotRuntime; terminalPilotInstaller?: TerminalPilotInstallerServices; } interface CreateTerminalPilotRuntimeOptions { launchPilot?: () => Promise; } export declare function getTerminalPilotRuntime(runtime: TerminalPilotRuntime | undefined): TerminalPilotRuntime; export declare function createTerminalPilotRuntime(options?: CreateTerminalPilotRuntimeOptions): TerminalPilotRuntime; export declare function closeSharedTerminalPilotRuntime(): Promise; export {};