import type { AgentStatus } from "./client.js";
export interface StreamEntry {
    timestamp: string;
    type: "reply" | "input" | "command" | "error" | "info" | "ack";
    text: string;
    state?: string;
}
export declare function splitGraphemes(s: string): string[];
export declare function displayWidth(s: string): number;
export declare class TuiRenderer {
    private rows;
    private cols;
    private stream;
    private maxStreamEntries;
    private inputLine;
    private cursorPos;
    private status;
    private scrollOffset;
    private connected;
    updateSize(): void;
    setStatus(status: AgentStatus): void;
    setConnected(connected: boolean): void;
    addStreamEntry(entry: StreamEntry): void;
    setInput(line: string, cursor: number): void;
    render(): void;
    private renderStatusBar;
    private renderStream;
    private formatEntry;
}
//# sourceMappingURL=renderer.d.ts.map