/**
 * StreamingExecutor - Yields incremental output chunks from bash execution.
 *
 * Drives TRUE streaming: it injects an opt-in `onChunk` sink into bash.exec()
 * so the interpreter pushes stdout/stderr fragments to a queue AS each
 * statement produces them. The AsyncGenerator drains that queue and yields
 * chunks live, rather than awaiting the full buffered result and emitting once.
 *
 * Equivalence guarantee: the streamed sink only ever observes a PREFIX of the
 * final buffered output (statement output is appended to the interpreter's
 * buffers in the same order the sink sees it; error-path trap/exit output is
 * only ever added at the tail). After exec() settles we therefore flush any
 * un-streamed REMAINDER (e.g. EXIT-trap output, exit-builtin output, or the
 * sanitized error message produced by the buffered error path) as a final data
 * chunk before the exit chunk. This makes `concat(streamed stdout)` byte-equal
 * to `exec(script).stdout` while never double-emitting a byte.
 */
import type { Bash } from "../Bash.js";
import type { OutputChunk, StreamExecOptions } from "./types.js";
export declare class StreamingExecutor {
    private bash;
    constructor(bash: Bash);
    execStream(script: string, options?: StreamExecOptions): AsyncGenerator<OutputChunk, void, undefined>;
}
