import { Editor, Loader, type LoaderIndicatorOptions, type TUI } from "@earendil-works/pi-tui"; /** Streaming status rendered inside an editor's top border. Mirrors Pi's * `WorkingStatusIndicator`: braille frames at 80 ms, plus the same * `renderInBorder` projections `CustomEditor` uses to place them. */ export declare class BorderWorkingIndicator extends Loader { constructor(ui: TUI, colorFn: (text: string) => string, message?: string, indicator?: LoaderIndicatorOptions); renderInBorder(width: number): string; renderSpinnerInBorder(width: number): string; } /** Editor that carries the streaming status in its top border, the way Pi's * `CustomEditor` does when `embedWorkingStatus` is on. Pi's host owns the * default editor and opts in there; the Fabric preview owns this editor, so it * opts in by construction. Placement rules (full status, spinner-only when it * cannot fit, and the `↑ N more` scroll label) match Pi's border exactly, and * the status is painted with the editor's own border color — the thinking-level * color, as Pi's embedded indicator is. */ export declare class BorderStatusEditor extends Editor { private workingStatusIndicator; /** Render-time label; width includes its padding. No extra editor rows. */ topBorderBadge: ((width: number) => string) | undefined; setWorkingStatusIndicator(indicator: BorderWorkingIndicator | undefined): void; protected renderTopBorder(width: number, hiddenLineCount: number): string; private renderStatusTopBorder; } //# sourceMappingURL=border-status-editor.d.ts.map