import { BaseTreeControl } from './base-tree-control'; import { FlatTreeControlFilter } from './flat-tree-control.filters'; export declare function defaultCompareValues(firstValue: string, secondValue: string): boolean; export declare function defaultCompareViewValues(firstViewValue: string, secondViewValue: string): boolean; /** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */ export declare class FlatTreeControl extends BaseTreeControl { getLevel: (dataNode: T) => number; isExpandable: (dataNode: T) => boolean; /** getValue will be used to determine if the tree contains value or not. Used in method hasValue */ getValue: (dataNode: T) => any; /** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */ getViewValue: (dataNode: T) => string; /** compareValues will be used to comparing values. */ compareValues: (firstValue: any, secondValue: any) => boolean; /** compareValues will be used to comparing values. */ compareViewValues: (firstViewValue: any, secondViewValue: any) => boolean; /** isDisabled will be used to determine if the node is disabled. */ isDisabled: (dataNode: T) => boolean; expandedItemsBeforeFiltration: T[]; private filters; /** Construct with flat tree data node functions getLevel, isExpandable, getValue and getViewValue. */ constructor(getLevel: (dataNode: T) => number, isExpandable: (dataNode: T) => boolean, /** getValue will be used to determine if the tree contains value or not. Used in method hasValue */ getValue: (dataNode: T) => any, /** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */ getViewValue: (dataNode: T) => string, /** compareValues will be used to comparing values. */ compareValues?: (firstValue: any, secondValue: any) => boolean, /** compareValues will be used to comparing values. */ compareViewValues?: (firstViewValue: any, secondViewValue: any) => boolean, /** isDisabled will be used to determine if the node is disabled. */ isDisabled?: (dataNode: T) => boolean); getFilters(): FlatTreeControlFilter[]; setFilters(...filters: FlatTreeControlFilter[]): void; /** * Gets a list of the data node's subtree of descendent data nodes. * * To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes * with correct levels. */ getDescendants(dataNode: T): T[]; /** * Expands all data nodes in the tree. * * To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened * data nodes of the tree. */ expandAll(): void; getParents(node: any, result: T[]): T[]; hasValue(value: string): T | undefined; filterNodes(value?: string | null): void; private updateFilterValue; private saveExpansionState; private restoreExpansionState; }