import { ITreeNode, IFlatTreeNode, IViewport } from '../lib/tree-utils'; export type TreeViewSelectionMode = 'none' | 'single' | 'multiple'; export type TreeViewState> = { data: ITreeNode[]; selectionMode: TreeViewSelectionMode; flatNodes: IFlatTreeNode[]; focusedId: string | undefined; expandedIds: ReadonlySet; selectedIds: ReadonlySet; loadingIds: ReadonlySet; visibleNodeCount: number; viewport: IViewport; }; export type TreeViewAction> = { type: 'focus-next'; } | { type: 'focus-previous'; } | { type: 'focus-first'; } | { type: 'focus-last'; } | { type: 'expand'; } | { type: 'collapse'; } | { type: 'toggle-expand'; } | { type: 'expand-all'; } | { type: 'collapse-all'; } | { type: 'select'; } | { type: 'focus-parent'; } | { type: 'focus-first-child'; } | { type: 'set-loading'; nodeId: string; isLoading: boolean; } | { type: 'set-children'; nodeId: string; children: ITreeNode[]; } | { type: 'expand-node'; nodeId: string; } | { type: 'collapse-node'; nodeId: string; } | { type: 'reset'; state: TreeViewState; }; export declare function treeViewReducer(state: TreeViewState, action: TreeViewAction): TreeViewState; export declare function createDefaultTreeViewState(options: { data: ITreeNode[]; selectionMode?: TreeViewSelectionMode; defaultExpanded?: ReadonlySet | 'all'; defaultSelected?: ReadonlySet; visibleNodeCount?: number; }): TreeViewState; //# sourceMappingURL=tree-view.d.ts.map