import { type Painted } from "../../tui/paint.js"; export type BoxSpec = { title: string; /** Right-aligned on the top rule, faded: `22.0s · 20k in · $0.0034`. */ stats: string; /** The rule and title color: the block's kind color. */ color: string; /** Cells of indent before the box, one step per level of tool depth. */ indent: number; active: boolean; /** Whether to draw side bars. A narrow pane keeps only the rules. */ sides: boolean; }; /** Below this many cells of text the side bars go, to keep room for words. */ export declare const SIDES_MIN_WIDTH = 60; /** Cells the side bars and their padding take from the text. */ export declare const SIDES_WIDTH = 4; /** How wide the text inside a box of `width` cells may be. */ export declare function boxInnerWidth(width: number, spec: Pick): number; /** Paint `body` lines, already wrapped to `boxInnerWidth`, into a box of * `width` cells. */ export declare function boxLines(body: Painted[], width: number, spec: BoxSpec): Painted[]; /** A painted line padded to `width`, every span and the padding on `bg`; * a span that has a background of its own keeps it. */ export declare function withBackground(line: Painted, width: number, bg: string | undefined): Painted;