import type { EditorLayoutRenderer } from "./editor-layout-renderer.js"; import type { AppMouseController } from "../screen/mouse-controller.js"; import type { AppPopupMenuController } from "../popup/popup-menu-controller.js"; import type { AppScrollController } from "../screen/scroll-controller.js"; import type { ScreenStyler } from "../screen/screen-styler.js"; import type { StatusLineRenderer } from "./status-line-renderer.js"; import type { TabLineRenderer } from "./tab-line-renderer.js"; import type { AppToastController } from "./toast-controller.js"; import { TerminalOutputBuffer } from "../terminal/terminal-output-buffer.js"; import { type Theme } from "../../theme.js"; export type AppRenderControllerHost = { isRunning(): boolean; terminalColumns(): number; terminalRows(): number; }; export type AppRenderControllerDeps = { theme: Theme; screenStyler: ScreenStyler; editorLayoutRenderer: EditorLayoutRenderer; scrollController: AppScrollController; popupMenus: AppPopupMenuController; mouseController: AppMouseController; statusLineRenderer: StatusLineRenderer; tabLineRenderer: TabLineRenderer; toastController: AppToastController; outputBuffer?: TerminalOutputBuffer; loadingConversationOverlayText?: () => string | undefined; voiceProgressOverlayText(): string | undefined; }; export declare class AppRenderController { private readonly host; private readonly deps; private readonly outputBuffer; constructor(host: AppRenderControllerHost, deps: AppRenderControllerDeps); resetOutputBuffer(): void; renderStatusLine(): void; render(): void; private renderFrameRow; private renderClickFlashOverlay; private updateStatusMouseState; private renderVoiceProgressOverlay; private renderConversationLoadingOverlay; }