/**
 * Assembles incremental LLM streaming deltas into displayable text.
 *
 * Tracks per-run thinking + content text, composes them for display,
 * and handles finalization.
 */
export declare class StreamAssembler {
    private runs;
    private getOrCreate;
    /** Append a content token delta. Returns updated display text, or null if unchanged. */
    ingestToken(runId: string, delta: string, showThinking: boolean): string | null;
    /** Update thinking content. Returns updated display text, or null if unchanged. */
    ingestThinking(runId: string, content: string, isDelta: boolean, showThinking: boolean): string | null;
    /** Finalize a run and return the final display text. */
    finalize(runId: string, showThinking: boolean): string;
    /** Get current display text for a run. */
    getDisplayText(runId: string): string;
    /** Drop a run without finalizing. */
    drop(runId: string): void;
    /** Clear all run state. */
    clear(): void;
}
