import { Option } from '../internals/types'; export interface ItemType extends Option { parent?: ItemType; } interface ItemKeys { valueKey: string; labelKey: string; childrenKey: string; } export type MayHasParent> = T & { parent?: MayHasParent; }; /** * get all ancestor nodes of given node * @param {*} node */ export declare function getNodeParents(node: any, parentKey?: string, valueKey?: string): any[]; /** * Check if any child nodes are selected. * @param node * @param value * @param itemKeys */ export declare const isSomeChildChecked: >(node: T, value: T[], itemKeys: Omit) => any; /** * Check if the parent is selected. * @param node * @param value * @param itemKeys */ export declare const isSomeParentChecked: >(node: MayHasParent, value: T[], itemKeys: Pick) => any; export declare const getOtherItemValuesByUnselectChild: (itemNode: ItemType, value: any, itemKeys: Omit) => T[]; /** * Remove the values of all children. */ export declare const removeAllChildrenValue: (value: T[], item: ItemType, itemKeys: Omit) => T[] | undefined; export {};