import { type Component } from "@earendil-works/pi-tui"; import type { SessionTreeNode } from "../../../core/session-manager.ts"; import type { FilterMode } from "./tree-selector-types.ts"; /** Tree list component with selection and ASCII art visualization */ export declare class TreeList implements Component { private readonly state; onSelect?: (entryId: string) => void; onCancel?: () => void; onLabelEdit?: (entryId: string, currentLabel: string | undefined) => void; constructor(tree: SessionTreeNode[], currentLeafId: string | null, maxVisibleLines: number, initialSelectedId?: string, initialFilterMode?: FilterMode); invalidate(): void; getSearchQuery(): string; getSelectedNode(): SessionTreeNode | undefined; updateNodeLabel(entryId: string, label: string | undefined, labelTimestamp?: string): void; private getStatusLabels; render(width: number): string[]; handleInput(keyData: string): boolean; /** * Whether a node can be folded. A node is foldable if it has visible children * and is either a root (no visible parent) or a segment start (visible parent * has multiple visible children). */ private isFoldable; /** * Find the index of the next branch segment start in the given direction. * A segment start is the first child of a branch point. * * "up" walks the visible parent chain; "down" walks visible children * (always following the first child). */ private findBranchSegmentStart; } //# sourceMappingURL=tree-selector-list.d.ts.map