/**
 * PlainModernRenderer — opencode-style minimal CLI output.
 *
 * Pattern: `> provider · model` header + clean output.
 * No route cards, no box drawing, no verbose banners.
 */
import type { CliUiEvent } from "./event.js";
import type { CliRenderer } from "./renderer.js";
interface WritableStreamLike {
    write(chunk: string): unknown;
    isTTY?: boolean;
    rows?: number;
}
export interface PlainRendererStreams {
    stdout?: WritableStreamLike;
    stderr?: WritableStreamLike;
}
export declare function renderRouteCard(event: Extract<CliUiEvent, {
    type: "turn:route";
}>): string;
export declare function renderAssistantCard(text: string): string;
export declare class PlainModernRenderer implements CliRenderer {
    private readonly stdout;
    private readonly stderr;
    private heartbeatOpen;
    private promptOpen;
    private alternateScreenActive;
    private stickyScrollRegionActive;
    constructor(streams?: PlainRendererStreams);
    start(): void;
    emit(event: CliUiEvent): void;
    setThinkingSummary(_summary: string | undefined): void;
    private writeStderrControl;
    private activateStickyScrollRegion;
    stop(): void;
}
export {};
