import { ChildProcess } from 'node:child_process'; import { ExecPayload } from './schema.js'; export declare class IOController { private child; private payload; private cwd; private onStall; private onMaxBuffer; private isJson; private stdoutDecoder; private stderrDecoder; private _stdoutTail; private _stderrTail; private _lastParsedEnvelope; private pendingStdout; private _lastDataTime; get stdoutTail(): string; get stderrTail(): string; get lastDataTime(): number; getParsedEnvelope(): Record | null; private finalizeStdout; private outStream?; private errStream?; private stallTimer; private promptStallTimer; private stdoutFlushTimer; private stderrFlushTimer; private isStdinBroken; private isStdinClosed; private streamManager; constructor(child: ChildProcess, payload: ExecPayload, cwd: string, onStall: (reason: string) => void, onMaxBuffer: (reason: string) => void, isJson?: boolean); setupStreams(): void; private setupFileStreams; private setupStdin; private safelyPauseAndDrain; private resetStallTimer; private hasTuiSequence; private evaluatePromptStall; private scheduleStreamFlush; private processData; private processEnd; private bindStdout; private bindStderr; flushAll(): void; closeFileStreams(): Promise; destroyStreams(): void; } //# sourceMappingURL=io-controller.d.ts.map