/**
 * CLI formatting helpers (Claude Code-style): headings, bullets, paths, emphasis.
 * Uses ANSI when stdout is a TTY and NO_COLOR is not set; otherwise plain text.
 */
/** Bold text (or plain if no color). */
export declare function bold(text: string): string;
/** Dimmed/secondary text. */
export declare function dim(text: string): string;
/** Section heading (bold, with optional underline-style spacing). */
export declare function heading(text: string, level?: 1 | 2): string;
/** Bullet line with optional indentation. */
export declare function bullet(text: string, indent?: number): string;
/** Numbered list item. */
export declare function numbered(index: number, text: string, indent?: number): string;
/** File path or code (dimmed so it stands out from prose). */
export declare function pathStyle(text: string): string;
/** Success / positive (e.g. "up", "created"). */
export declare function success(text: string): string;
/** Warning / highlight (e.g. "down", "skipped"). */
export declare function warn(text: string): string;
/** Error / missing (e.g. "not set"). */
export declare function error(text: string): string;
/** Label for a command or tool (e.g. "Bash", "neotoma"). */
export declare function label(text: string): string;
/** Empty line for spacing between sections. */
export declare function nl(): string;
/** Write a section: title + optional bullet list. */
export declare function section(title: string, bullets?: string[]): string;
/** Format key: value with optional path-style value. */
export declare function keyValue(key: string, value: string, valueAsPath?: boolean): string;
/** Accent color for panel title, sub-headings, and illustration (warm brown). */
export declare function accent(text: string): string;
/** Sub-heading in accent color (e.g. "Tips for getting started"). */
export declare function subHeading(text: string): string;
/** Strip ANSI escape sequences for measuring visible length. */
export declare function visibleLength(s: string): number;
/** Terminal display width: most chars 1, fullwidth/CJK/symbols 2. Use for aligning columns. */
export declare function displayWidth(s: string): number;
/** Pad a line to target display width (for aligned columns in terminal). */
export declare function padToDisplayWidth(line: string, width: number): string;
/** Terminal width for box and layout sizing. Respects viewport; use for capping box width. */
export declare function getTerminalWidth(margin?: number): number;
/** Box-drawing: single-line panel around content. Content is an array of lines; width is max visible length + padding, capped to terminal. */
export declare function panel(lines: string[], options?: {
    title?: string;
    padding?: number;
    width?: number;
}): string;
/** Pad a line to width (for side-by-side columns). */
export declare function padLine(line: string, width: number): string;
/** Black foreground (e.g. for borders and panel title). */
export declare function black(text: string): string;
/** Border color for boxes; each box type can use a distinct color. */
export type BoxBorderColor = "black" | "accent" | "cyan" | "green" | "yellow";
/**
 * Compute the inner width a box would have (for aligning multiple boxes to the same width).
 */
export declare function computeBoxInnerWidth(lines: string[], options?: {
    title?: string;
    padding?: number;
    minWidth?: number;
}): number;
/**
 * Draw a closed box with side lines and rounded corners. Optional title is
 * placed inside the top border (e.g. " Neotoma v0.2.15 ").
 * Use borderColor to give each box a distinct color; default is black when
 * borderBlack is true, otherwise accent.
 * Use minWidth (or sessionBoxWidth) so all session boxes share the same width.
 */
export declare function blackBox(lines: string[], options?: {
    title?: string;
    borderBlack?: boolean;
    /** Distinct color for this box (intro, MCP status, watch, etc.). */
    borderColor?: BoxBorderColor;
    padding?: number;
    minWidth?: number;
    /** When set, box inner width is exactly this (overrides minWidth for alignment). */
    sessionBoxWidth?: number;
}): string;
//# sourceMappingURL=format.d.ts.map