import type { ControllerContainerEnvironment } from './classes.containerenvironment.js'; /** Generated executables are mounted read-only; PID files are disposable process IPC. */ export declare const prepareContainerTerminalAssets: (assetsDirectoryArg: string) => Promise; export interface IControllerTerminalExecutionExit { exitCode: number; /** The TTY transport ended while Docker still reported the process running. */ streamLost: boolean; } /** Future host and container implementations share this manager-facing terminal contract. */ export interface IControllerTerminalExecution { readonly finalPromise: Promise; sendInput(dataArg: Uint8Array): Promise; resize(colsArg: number, rowsArg: number): Promise; pause(): void; resume(): void; terminate(): Promise; kill(): Promise; close(): Promise; } export interface IControllerDockerTerminalStartOptions { command: string; args: readonly string[]; workingDirectory: string; environment: Record; cols: number; rows: number; onData: (chunkArg: Buffer) => void; } export interface IControllerDockerTerminalExecutorOptions { environment: Pick; stateDirectory: string; } export declare class ControllerDockerTerminalExecutor { private readonly options; constructor(options: IControllerDockerTerminalExecutorOptions); start(optionsArg: IControllerDockerTerminalStartOptions): Promise; }