import { ExtractPropTypes, InjectionKey, PropType, SetupContext } from 'vue'; export declare type Key = string | number; export interface TreeNode extends Required { level: number; rawNode: TreeOption; children: TreeNode[]; isLeaf: boolean; parentKey: Key | undefined; } export interface TreeOption { label?: Key; key?: Key; children?: TreeOption[]; isLeaf?: boolean; disabled?: boolean; [key: string]: unknown; } export declare const treeProps: { readonly data: { readonly type: PropType; readonly default: () => any[]; }; readonly defaultExpandedKeys: { readonly type: PropType; readonly default: () => any[]; }; readonly labelField: { readonly type: StringConstructor; readonly default: "labelField"; }; readonly keyField: { readonly type: StringConstructor; readonly default: "key"; }; readonly childrenField: { readonly type: StringConstructor; readonly default: "children"; }; readonly onLoad: { readonly type: PropType<(node: TreeOption) => Promise>; }; readonly selectedKeys: { readonly type: PropType; }; readonly selectable: { readonly type: BooleanConstructor; readonly default: true; }; readonly multiple: { readonly type: BooleanConstructor; readonly default: false; }; readonly defaultCheckedKeys: { readonly type: PropType; readonly default: () => any[]; }; readonly showCheckbox: { readonly type: BooleanConstructor; readonly default: false; }; }; export declare const treeNodeProps: { readonly node: { readonly type: PropType; readonly required: true; }; readonly expanded: { readonly type: BooleanConstructor; readonly required: true; }; readonly loadingKeys: { readonly type: PropType>; readonly required: true; }; readonly selectKeys: { readonly type: PropType; readonly default: () => any[]; }; readonly checked: BooleanConstructor; readonly disabled: BooleanConstructor; readonly indeterminate: BooleanConstructor; readonly showCheckbox: { readonly type: BooleanConstructor; readonly default: false; }; }; export declare const treeNodeContentProps: { node: { type: PropType; required: boolean; }; }; export declare const treeNodeEmitts: { toggleExpand: (node: TreeNode) => TreeNode; select: (node: TreeNode) => TreeNode; check: (node: TreeNode, value: boolean) => boolean; }; export declare const treeEmitts: { 'update:selectedKeys': (keys: Key[]) => Key[]; }; export declare type treeNodeEmitts = Partial>; export declare type TreeProps = Partial>; export interface TreeContext { slots: SetupContext['slots']; } export declare const treeInjectKey: InjectionKey;