import { Accessor } from "../../data/getAccessor"; import { ArrayAdapter, ArrayAdapterConfig, RecordStoreCache } from "./ArrayAdapter"; import { DataAdapterRecord } from "./DataAdapter"; import { RenderingContext } from "../RenderingContext"; import { Instance } from "../Instance"; import { View } from "../../data/View"; import { Sorter } from "../Prop"; export interface DefaultTreeNode { $level?: number; $expanded?: boolean; $leaf?: boolean; $loading?: boolean; $loaded?: boolean; [key: string]: any; } export interface ExpandedState { current?: Set; next: Set; } export interface TreeAdapterConfig extends ArrayAdapterConfig { childrenField?: string; expandedField?: string; leafField?: string; loadingField?: string; loadedField?: string; onLoadError?: (response: any) => void; foldersFirst?: boolean; hideRootNodes?: boolean; restoreExpandedNodesOnLoad?: boolean; load?: (context: RenderingContext, instance: Instance, node: any) => Promise | any[] | null | undefined; onLoad?: (context: RenderingContext, instance: Instance, node: any) => Promise | any[] | null | undefined; } export declare class TreeAdapter extends ArrayAdapter { childrenField: string; expandedField: string; leafField: string; loadingField: string; loadedField: string; onLoadError?: (response: any) => void; foldersFirst: boolean; hideRootNodes: boolean; restoreExpandedNodesOnLoad?: boolean; load?: (context: RenderingContext, instance: Instance, data: T) => Promise | any[]; onLoad?: (context: RenderingContext, instance: Instance, data: T) => Promise | any[]; protected childrenAccessor?: Accessor; protected expandedState?: ExpandedState; constructor(config?: TreeAdapterConfig); init(): void; mapRecords(context: RenderingContext, instance: Instance & Partial, data: T[], parentStore: View, recordsAccessor?: Accessor): DataAdapterRecord[]; protected processList(context: RenderingContext, instance: Instance & Partial, level: number, parentKey: string, nodes: DataAdapterRecord[], result: DataAdapterRecord[]): void; protected processNode(context: RenderingContext, instance: Instance & Partial, level: number, result: DataAdapterRecord[], record: DataAdapterRecord): void; sort(sorters?: Sorter[]): void; } //# sourceMappingURL=TreeAdapter.d.ts.map