/** * Theme-aware TUI primitives for Pisces terminal overlays. * * All functions are pure — they take a TuiTheme and return plain strings or * string arrays. No Pi SDK imports; safe to test with an identity theme. * * Design language (Editorial Noir terminal): * - Box corners: ╭ ╮ ╰ ╯ Walls: │ Horizontal: ─ * - Color keys: "accent" (default), "warning", "muted", "dim", "error" * - Bar chars: █ (filled) ░ (empty) * - Badge style: [ LABEL ] with color surround */ export interface TuiTheme { fg(colorKey: string, text: string): string; getFgAnsi(colorKey: string): string; } /** * Top border of a panel. * innerW = content width (excluding the two wall chars + two spaces of padding). */ export declare function panelTop(innerW: number, colorKey: string, t: TuiTheme): string; /** * Bottom border with a centered dismiss hint. * hint is rendered dim; remaining ─ fill is rendered in colorKey. */ export declare function panelBottom(innerW: number, hint: string, colorKey: string, t: TuiTheme): string; /** Blank row — an empty padded line inside the panel. */ export declare function panelBlank(innerW: number, colorKey: string, t: TuiTheme): string; /** * Content row — left-pads by 1, right-pads to innerW, then closes with wall. * content must already be visually innerW chars wide (strip ANSI before measuring). */ export declare function panelRow(content: string, contentVisualW: number, innerW: number, colorKey: string, t: TuiTheme): string; /** [ LABEL ] badge — accent-colored surround, label in normal fg. */ export declare function badge(label: string, colorKey: string, t: TuiTheme): string; /** * Key-value stat row: label left-padded to labelW, value accent-colored. * Returns { text, visualW } so callers can pass visualW to panelRow. */ export declare function kv(label: string, value: string, labelW: number, colorKey: string, t: TuiTheme): { text: string; visualW: number; }; /** * Section divider: ───