import { Style } from "./ansi.js"; import { Align, Block } from "./block.js"; import { NodeHandler } from "./sizing.js"; export type NodeType = "box" | "row" | "column" | "text" | "raw" | "space" | "hline" | "vline" | "table" | "barchart"; export type LayoutNode = { type: NodeType; attrs: Record; children: LayoutNode[]; }; export type Cell = string | LayoutNode; export type WidthInput = number | "full" | string; export type ColumnSpec = { align?: Align; minWidth?: number; width?: WidthInput; fgColor?: string; }; export type Width = { kind: "cells"; value: number; } | { kind: "full"; } | { kind: "percent"; value: number; }; export declare function parseWidth(raw: unknown): Width | null; export declare function styleOf(attrs: Record): Style; export declare const LEAF_RENDERERS: Record<"text" | "raw" | "space" | "hline" | "vline", (n: LayoutNode) => Block>; export declare const text: NodeHandler; export declare const raw: NodeHandler; export declare const space: NodeHandler; export declare const hline: NodeHandler; export declare const vline: NodeHandler;