import { ExtractPropTypes, InjectionKey, PropType, SetupContext } from 'vue'; export type typeKey = string | number; export interface TreeNode extends Required { level: number; rawNode: TreeOption; children: TreeNode[]; isLeaf: boolean; parentKey: typeKey | undefined; } export interface TreeOption { key?: typeKey; label?: typeKey; children?: TreeOption[]; isLeaf?: boolean; disabled?: boolean; [key: string]: unknown; } export declare const treeProps: { readonly data: { readonly type: PropType; readonly default: () => never[]; }; readonly defaultExpandedKeys: { readonly type: PropType; }; readonly keyField: { readonly type: StringConstructor; readonly default: "key"; }; readonly labelField: { readonly type: StringConstructor; readonly default: "label"; }; 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: () => never[]; }; 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 require: true; }; readonly loadingKeys: { readonly type: PropType>; readonly require: true; }; readonly selectedKeys: { readonly type: PropType; readonly default: () => never[]; }; readonly showCheckbox: { readonly type: BooleanConstructor; readonly default: false; }; readonly checked: { readonly type: BooleanConstructor; readonly default: false; }; readonly disabled: { readonly type: BooleanConstructor; readonly default: false; }; readonly indeterminte: { readonly type: BooleanConstructor; readonly default: false; }; }; export declare const treeEmitts: { 'update:selectedKeys': (keys: typeKey[]) => typeKey[]; }; export declare const treeNodeEmitts: { toggle: (node: TreeNode) => TreeNode; select: (node: TreeNode) => TreeNode; check: (node: TreeNode, val: boolean) => boolean; }; export type TreeNodeProps = Partial>; export type TreeProps = Partial>; export interface TreeContent { slots: SetupContext['slots']; } export declare const treeInjectKey: InjectionKey; export declare const treeNodeContentProps: { node: { type: PropType; require: boolean; }; };