/** @packageDocumentation * @module Tree */ import { TreeDataProvider } from "../TreeDataProvider"; import { TreeEventHandler, TreeEventHandlerParams } from "./TreeEventHandler"; import { VisibleTreeNodes } from "./TreeModel"; import { TreeModelSource } from "./TreeModelSource"; import { PagedTreeNodeLoader, TreeNodeLoader } from "./TreeNodeLoader"; /** * Custom hook which returns a flat list of visible nodes from given `TreeModelSource` and subscribes * to onModelChanged event to update the list when model changes. * * @public */ export declare function useVisibleTreeNodes(modelSource: TreeModelSource): VisibleTreeNodes; /** * Custom hook which creates a nodes' loader using the supplied data provider and model source. The * loader pulls nodes from the data provider and puts them into the model source. * * @public */ export declare function useTreeNodeLoader(dataProvider: TDataProvider, modelSource: TreeModelSource): TreeNodeLoader; /** * Custom hook which creates a paging nodes' loader using the supplied data provider and model source. The * loader pulls nodes from the data provider and puts them into the model source. * * @beta */ export declare function usePagedTreeNodeLoader(dataProvider: TDataProvider, pageSize: number, modelSource: TreeModelSource): PagedTreeNodeLoader; /** * Custom hook which creates a `TreeModelSource`. * * @note The model source has no direct dependency on the data provider, but we want a fresh model * source whenever the data provider changes - that's the reason the hook takes a data provider. * * @public */ export declare function useTreeModelSource(dataProvider: TreeDataProvider): TreeModelSource; /** * Custom hook which creates and takes care of disposing a TreeEventsHandler. The input is either a factory method * for a custom `TreeEventHandler` implementation or parameters for the default implementation. * * @note Caller must ensure `factoryOrParams` changes only when a new handler needs to be created. `useCallback` or `useMemo` can * be used for that purpose based on whether the input is a factory function or params object. * * @public */ export declare function useTreeEventsHandler(factoryOrParams: (() => TEventsHandler) | TreeEventHandlerParams): TreeEventHandler; //# sourceMappingURL=TreeHooks.d.ts.map