import type { Mode } from "../../types.js"; import type { ThemeToken } from "../render/ink-theme.js"; export type ComposerPhase = "idle" | "running" | "suspended"; export interface ComposerFrameInput { readonly columns: number; readonly allocatedRows: number; readonly text: string; readonly mode: Mode; readonly phase: ComposerPhase; readonly unicode: boolean; readonly metaLabel?: string | undefined; } export interface ComposerFrame { readonly width: number; readonly textWidth: number; readonly textRows: number; readonly borderStyle: "round" | "classic"; readonly borderColor: ThemeToken; readonly markColor: ThemeToken; readonly mark: string; readonly placeholder: string; readonly showCaret: boolean; readonly meta: string; readonly showDirectory: boolean; } export declare const COMPOSER_CHROME_COLS = 5; export declare function composerPlaceholder(mode: Mode, phase: ComposerPhase): string; export declare function composerFrame(input: ComposerFrameInput): ComposerFrame; export declare function composerTextRowsWanted(input: { readonly columns: number; readonly text: string; }): number;