import { TreeNode, ViewerState } from "./types.js";
import { ViewerThresholds } from "./thresholds.js";
export type Viewport = {
    rows: number;
    cols: number;
};
export type VisibleRow = {
    node: TreeNode;
    depth: number;
};
export declare function flattenVisibleRows(state: ViewerState): VisibleRow[];
export declare function eventExpansionChildren(leaf: TreeNode, childDepth?: number, cols?: number): TreeNode[];
export declare function rawDataChildren(toggle: TreeNode): TreeNode[];
export declare function wrapLine(text: string, width: number): string[];
export declare function renderViewerLines(state: ViewerState, viewport: Viewport): string[];
export declare function renderRowText(row: VisibleRow, isCursor: boolean, isExpanded: boolean, opts?: {
    query?: string;
    thresholds?: ViewerThresholds;
}): string;
export declare function highlightInline(text: string, query: string): string;
export declare function colorFor(node: TreeNode): string | undefined;
