/** * PTY Process Manager * * Manages processes with pseudo-terminal (PTY) for interactive execution. * Enables full terminal interactivity with ANSI support and real-time I/O. * * @module execution/process/pty-manager */ import type { IProcessManager } from './manager.js'; import type { ProcessConfig, ManagedPtyProcess, ProcessMetrics, OutputHandler, ErrorHandler } from './types.js'; /** * Process manager using PTY for interactive terminal execution * * Provides full terminal emulation with: * - ANSI color and cursor control support * - Real-time bidirectional I/O * - Terminal resize handling * - Interactive user input * * Used for 'interactive' and 'hybrid' execution modes. * * @example * ```typescript * const manager = new PtyProcessManager(); * const process = await manager.acquireProcess({ * executablePath: 'claude', * args: [], * workDir: '/path/to/project', * mode: 'interactive', * terminal: { * cols: 80, * rows: 24, * }, * }); * * // Listen to terminal output * process.onData((data) => { * console.log('Terminal output:', data); * }); * * // Send user input * process.write('help\n'); * * // Handle exit * process.onExit((exitCode) => { * console.log('Process exited:', exitCode); * }); * ``` */ export declare class PtyProcessManager implements IProcessManager { private activeProcesses; private cleanupTimers; private metrics; acquireProcess(config: ProcessConfig): Promise; private setupProcessHandlers; releaseProcess(processId: string): Promise; terminateProcess(processId: string): Promise; sendInput(processId: string, input: string): Promise; closeInput(_processId: string): void; onOutput(processId: string, handler: OutputHandler): void; onError(processId: string, handler: ErrorHandler): void; getProcess(processId: string): ManagedPtyProcess | null; getActiveProcesses(): ManagedPtyProcess[]; getMetrics(): ProcessMetrics; shutdown(): Promise; } //# sourceMappingURL=pty-manager.d.ts.map