import type { ConfigOptionType, OptionObjectValueType } from './OptionAndConfig.types';
import type { TIconClass } from './icons.types';
export declare type VcTreeNodeType<T extends string = string> = {
    id?: string | number;
    key?: string | number;
    label?: string;
    icon?: TIconClass;
    children?: Array<VcTreeNodeType>;
    parent?: VcTreeNodeType;
    checked?: boolean;
    _keyPath?: string;
    type?: T;
} & OptionObjectValueType;
export declare type VcTreeConfig<NodeType extends VcTreeNodeType> = ConfigOptionType<NodeType> & {
    childrenKey: keyof NodeType;
    valueKey: keyof NodeType;
    labelKey: keyof NodeType;
    filterBy?: string;
    iconKey?: keyof NodeType;
    disabledKey?: keyof NodeType;
    filterLocale?: string;
    nodeClassName?: string;
    nodeLabelClassName?: string;
};
export type VcTreeFilterParams = {
    searchFields: Array<string>;
    filterText: string;
};
