/**
 * System24Renderer — OMK-optimized TUI renderer.
 *
 * Design language:
 * - oklch gray-scale backgrounds (near-black base)
 * - Square borders, no rounding
 * - Panel labels, ASCII art headers
 * - Monospace typography (terminal-native)
 * - Minimal color accents on neutral base
 *
 * Panels:
 * ┌─ session ──────────────────────────────────────┐
 * │  ◆ OMK · mimo · mimo-v2.5-pro    run#abc123   │
 * └────────────────────────────────────────────────┘
 * ┌─ turn ─────────────────────────────────────────┐
 * │  ▸ user input                                   │
 * │  ▸ assistant output with markdown                │
 * │  ┌─ code: ts ──────────────────────────────────┐│
 * │  │  const x = 1;                               ││
 * │  └─────────────────────────────────────────────┘│
 * │  🧠 reasoning summary                           │
 * ├─ status ───────────────────────────────────────┤
 * │  ⚙ [context7,gh_grep] ⟨karpathy,…+2⟩ ─ 2.3s   │
 * └────────────────────────────────────────────────┘
 */
import type { CliUiEvent } from "./event.js";
import type { CliRenderer } from "./renderer.js";
import type { OmkBrandTheme } from "../../brand/theme.js";
interface WritableStreamLike {
    write(chunk: string): unknown;
    isTTY?: boolean;
    columns?: number;
    rows?: number;
}
export interface System24RendererStreams {
    stdout?: WritableStreamLike;
    stderr?: WritableStreamLike;
}
export interface System24RendererOptions {
    sessionHeader?: "full" | "compact" | "off";
    noColor?: boolean;
    /** Keep terminal cursor/scroll controls independent from NO_COLOR. */
    terminalControls?: boolean;
}
export declare class System24Renderer implements CliRenderer {
    private readonly out;
    private readonly err;
    private readonly palette;
    private readonly sessionHeader;
    private readonly noColor;
    private readonly terminalControls;
    private heartbeatOpen;
    private thinkingSummary;
    private lastRoute;
    private turnStartTime;
    private sessionStartTime;
    private runId;
    private panelWidth;
    private todoPercent;
    private inCodeBlock;
    private promptOpen;
    private codeBlockLang;
    private codeBlockLines;
    private rowsWritten;
    private stickyHeaderPrefixRows;
    private alternateScreenActive;
    private stickyScrollRegionActive;
    constructor(streams?: System24RendererStreams, theme?: OmkBrandTheme, options?: System24RendererOptions);
    start(): void;
    setStickyHeaderPrefixRows(rows: number): void;
    emit(event: CliUiEvent): void;
    setThinkingSummary(summary: string | undefined): void;
    private writeOut;
    private writeErr;
    private writeErrControl;
    private activateStickyScrollRegion;
    stop(): void;
}
export {};
