import { TreeNode, RawNode, InputMergedKeys, Key, GetNonLeafKeysOptions, GetChildren } from './interface'; export declare function toArray(arg: T): T extends any[] ? T : T[]; export declare const TRAVERSE_COMMAND: { STOP: string; }; export declare function traverseWithCb(treeNode: TreeNode, callback: (treeNode: TreeNode) => any): void; export declare function getNonLeafKeys(treeNodes: Array>, options?: GetNonLeafKeysOptions): Key[]; export declare function isLeaf(rawNode: R | G | I, getChildren: GetChildren): boolean; export declare function defaultGetChildren(node: R | G | I): Array | unknown; export declare function defaultGetKey(node: unknown): Key; export declare function isIgnored(): boolean; export declare function isShallowLoaded(rawNode: R, getChildren: GetChildren): boolean; export declare function isDisabled(rawNode: RawNode): boolean; export declare function isExpilicitlyNotLoaded(rawNode: R | G | I, getChildren: GetChildren): boolean; export declare function isNodeInvalid(rawNode: R | G | I, getChildren: GetChildren): boolean; export declare function unwrapCheckedKeys(result?: InputMergedKeys | Key[] | null): Key[]; export declare function unwrapIndeterminateKeys(result?: InputMergedKeys | Key[] | null): Key[]; export declare function merge(originalKeys: Key[], keysToAdd: Key[]): Key[]; export declare function minus(originalKeys: Key[], keysToRemove: Key[]): Key[]; export declare function isGroup(rawNode: RawNode): boolean; export declare type IndexGetter = (key: Key) => number | null; export declare function createIndexGetter(treeNodes: Array>): IndexGetter;