/**
 * OwlCoda TUI Box Drawing
 *
 * Renders bordered boxes with text content, padding, and optional titles.
 * Uses Unicode box-drawing characters for clean terminal rendering.
 *
 * Supports multiple border styles (round, sharp, double, heavy, dashed, ascii)
 * and embedded titles in top/bottom borders.
 */
export type BorderChars = {
    topLeft: string;
    top: string;
    topRight: string;
    left: string;
    right: string;
    bottomLeft: string;
    bottom: string;
    bottomRight: string;
};
/** Named border styles. */
export declare const BORDER_STYLES: {
    readonly round: {
        readonly topLeft: "╭";
        readonly top: "─";
        readonly topRight: "╮";
        readonly left: "│";
        readonly right: "│";
        readonly bottomLeft: "╰";
        readonly bottom: "─";
        readonly bottomRight: "╯";
    };
    readonly sharp: {
        readonly topLeft: "┌";
        readonly top: "─";
        readonly topRight: "┐";
        readonly left: "│";
        readonly right: "│";
        readonly bottomLeft: "└";
        readonly bottom: "─";
        readonly bottomRight: "┘";
    };
    readonly double: {
        readonly topLeft: "╔";
        readonly top: "═";
        readonly topRight: "╗";
        readonly left: "║";
        readonly right: "║";
        readonly bottomLeft: "╚";
        readonly bottom: "═";
        readonly bottomRight: "╝";
    };
    readonly heavy: {
        readonly topLeft: "┏";
        readonly top: "━";
        readonly topRight: "┓";
        readonly left: "┃";
        readonly right: "┃";
        readonly bottomLeft: "┗";
        readonly bottom: "━";
        readonly bottomRight: "┛";
    };
    readonly dashed: {
        readonly topLeft: " ";
        readonly top: "╌";
        readonly topRight: " ";
        readonly left: "╎";
        readonly right: "╎";
        readonly bottomLeft: " ";
        readonly bottom: "╌";
        readonly bottomRight: " ";
    };
    readonly ascii: {
        readonly topLeft: "+";
        readonly top: "-";
        readonly topRight: "+";
        readonly left: "|";
        readonly right: "|";
        readonly bottomLeft: "+";
        readonly bottom: "-";
        readonly bottomRight: "+";
    };
    readonly none: {
        readonly topLeft: " ";
        readonly top: " ";
        readonly topRight: " ";
        readonly left: " ";
        readonly right: " ";
        readonly bottomLeft: " ";
        readonly bottom: " ";
        readonly bottomRight: " ";
    };
};
export type BorderStyleName = keyof typeof BORDER_STYLES;
/** Horizontal separator character (heavy). */
export declare const HEAVY_LINE = "\u2501";
export declare const LIGHT_LINE = "\u2500";
export declare const DOUBLE_LINE = "\u2550";
export interface BoxOptions {
    /** Width of the box (including borders). Auto-calculated if omitted. */
    width?: number;
    /** Border style name or custom chars. Default: 'round'. */
    border?: BorderStyleName | BorderChars;
    /** ANSI color string for the border. Uses theme border color if omitted. */
    borderColor?: string;
    /** Dim the border. Default: false. */
    borderDim?: boolean;
    /** Padding inside the box (left/right). Default: 1. */
    paddingX?: number;
    /** Padding inside the box (top/bottom lines). Default: 0. */
    paddingY?: number;
    /** Title embedded in the top border. */
    title?: string;
    /** Title color (ANSI string). */
    titleColor?: string;
    /** Title alignment in border. Default: 'start'. */
    titleAlign?: 'start' | 'center' | 'end';
    /** Footer embedded in the bottom border. */
    footer?: string;
    /** Footer color (ANSI string). */
    footerColor?: string;
}
/**
 * Render a bordered box around content lines.
 *
 * ```
 * ╭─── Title ───────────────╮
 * │ content line 1           │
 * │ content line 2           │
 * ╰──────────────────────────╯
 * ```
 */
export declare function renderBox(contentLines: string[], opts?: BoxOptions): string;
/**
 * Render a simple horizontal separator line.
 */
export declare function renderSeparator(width: number, style?: 'light' | 'heavy' | 'double' | 'dashed'): string;
/**
 * Render a colored divider with optional title.
 * Used by Pane-style components to draw a top border line.
 *
 * ```
 * ─────────── Title ───────────
 * ```
 */
export declare function renderDivider(opts?: {
    /** Optional title shown centered in the divider line. */
    title?: string;
    /** Theme color for the divider. Default: dimmed border. */
    color?: string;
    /** Width. Default: terminal width. */
    width?: number;
    /** Divider character. Default: '─'. */
    char?: string;
}): string;
/**
 * Render a two-column layout side by side.
 * Each column is an array of lines.
 */
export declare function renderColumns(left: string[], right: string[], opts: {
    leftWidth: number;
    rightWidth: number;
    divider?: string;
    dividerColor?: string;
}): string[];
