/**
 * Hierarchical tree list rendering helper.
 */
import type { Theme } from "../modes/theme/theme.js";
import type { TreeContext } from "./types.js";
export interface TreeListOptions<T> {
    items: T[];
    expanded?: boolean;
    maxCollapsed?: number;
    /** Strict total-line budget for collapsed mode. When set (and not expanded),
     *  rendered item lines plus the trailing summary line must fit within this budget.
     */
    maxCollapsedLines?: number;
    itemType?: string;
    truncateFrom?: "start" | "end";
    /** Called once per item with `isLast: false` during budget calculation;
     *  line count MUST NOT vary based on `isLast`. */
    renderItem: (item: T, context: TreeContext) => string | string[];
}
export declare function renderTreeList<T>(options: TreeListOptions<T>, theme: Theme): string[];
