import React from "react"; import { type DOMElement } from "ink"; interface ChatLayoutProps { columns: number; /** * When set, the layout root claims the full terminal height. Used by the * fullscreen alt-screen viewport so the bounded transcript region (flexGrow) * fills everything above the pinned controls, giving the footer a fixed * position at the very bottom of the screen. */ rows?: number; children: React.ReactNode; } interface ChatLiveAreaProps { children: React.ReactNode; /** * When set, hard-cap the live area to this many rows, anchoring content to * the bottom (newest visible) and clipping the overflow at the top. Leave * undefined so the area stays compact (sized to its content) when it fits — * a fixed height would otherwise reserve blank rows above short output. */ clampRows?: number; } interface ChatControlsProps { controlsRef: (node: DOMElement | null) => void; children: React.ReactNode; } interface ChatInputFooterStackProps { columns: number; children: React.ReactNode; } export declare function ChatLayout({ columns, rows, children }: ChatLayoutProps): import("react/jsx-runtime").JSX.Element; export declare function ChatLiveArea({ children, clampRows }: ChatLiveAreaProps): import("react/jsx-runtime").JSX.Element; export declare function ChatControls({ controlsRef, children }: ChatControlsProps): import("react/jsx-runtime").JSX.Element; export declare function ChatInputFooterStack({ columns, children }: ChatInputFooterStackProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=ChatLayout.d.ts.map