import type { TreeOptionData } from '../../common';
import type { TreeNodeState, TreeNodeValue, TypeTreeNodeModel } from './interface';
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    t: <T>(pattern: T, ...args: any[]) => any;
    global: import("@vue/composition-api").Ref<{
        empty?: string;
        folderIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    }>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
    componentName: import("@vue/composition-api").ComputedRef<string>;
    store: import("@ldesign/utils/es/tree/tree-store").TreeStore;
    cache: import("./interface").TypeTreeCache;
    classList: import("@vue/composition-api").ComputedRef<string[]>;
    updateStoreConfig: () => void;
    setActived: (item: import("./interface").TypeTargetNode, isActived: boolean) => import("@ldesign/utils/es/tree/types").TreeNodeValue[];
    setExpanded: (item: import("./interface").TypeTargetNode, isExpanded: boolean) => TreeNodeValue[];
    setChecked: (item: import("./interface").TypeTargetNode, isChecked: boolean) => TreeNodeValue[];
    renderTreeNodes: (h: import("vue").CreateElement) => any[];
    nodesFilterEmpty: import("@vue/composition-api").Ref<boolean>;
}> & import("@vue/composition-api").Data, {
    setItem(value: TreeNodeValue, options: TreeNodeState): void;
    getItem(value: TreeNodeValue): TypeTreeNodeModel;
    getItems(value?: TreeNodeValue): TypeTreeNodeModel[];
    appendTo(para?: TreeNodeValue, item?: TreeOptionData | TreeOptionData[]): void;
    insertBefore(value: TreeNodeValue, item: TreeOptionData): void;
    insertAfter(value: TreeNodeValue, item: TreeOptionData): void;
    remove(value?: TreeNodeValue): void;
    getIndex(value: TreeNodeValue): number;
    getParent(value: TreeNodeValue): TypeTreeNodeModel;
    getParents(value: TreeNodeValue): TypeTreeNodeModel[];
    getPath(value: TreeNodeValue): TypeTreeNodeModel[];
}, {}, {
    activable: BooleanConstructor;
    activeMultiple: BooleanConstructor;
    actived: {
        type: import("vue").PropType<TreeNodeValue[]>;
    };
    defaultActived: {
        type: import("vue").PropType<TreeNodeValue[]>;
    };
    allowFoldNodeOnFilter: BooleanConstructor;
    checkProps: {
        type: import("vue").PropType<import("../checkbox").TypeCheckboxProps>;
    };
    checkStrictly: BooleanConstructor;
    checkable: BooleanConstructor;
    data: {
        type: import("vue").PropType<TreeOptionData[]>;
        default: () => TreeOptionData[];
    };
    disableCheck: {
        type: import("vue").PropType<boolean | ((node: import("./type").TreeNodeModel<TreeOptionData>) => boolean)>;
        default: boolean;
    };
    disabled: BooleanConstructor;
    draggable: BooleanConstructor;
    empty: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    expandAll: BooleanConstructor;
    expandLevel: {
        type: NumberConstructor;
        default: number;
    };
    expandMutex: BooleanConstructor;
    expandOnClickNode: BooleanConstructor;
    expandParent: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<TreeNodeValue[]>;
        default: () => TreeNodeValue[];
    };
    defaultExpanded: {
        type: import("vue").PropType<TreeNodeValue[]>;
        default: () => TreeNodeValue[];
    };
    filter: {
        type: import("vue").PropType<(node: import("./type").TreeNodeModel<TreeOptionData>) => boolean>;
    };
    hover: BooleanConstructor;
    icon: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    keys: {
        type: import("vue").PropType<import("./type").TreeKeysType>;
    };
    label: {
        type: import("vue").PropType<string | boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    line: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    load: {
        type: import("vue").PropType<(node: import("./type").TreeNodeModel<TreeOptionData>) => Promise<TreeOptionData[]>>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    transition: {
        type: BooleanConstructor;
        default: boolean;
    };
    value: {
        type: import("vue").PropType<TreeNodeValue[]>;
        default: () => TreeNodeValue[];
    };
    defaultValue: {
        type: import("vue").PropType<TreeNodeValue[]>;
        default: () => TreeNodeValue[];
    };
    valueMode: {
        type: import("vue").PropType<"all" | "onlyLeaf" | "parentFirst">;
        default: "all" | "onlyLeaf" | "parentFirst";
        validator(val: "all" | "onlyLeaf" | "parentFirst"): boolean;
    };
    onActive: import("vue").PropType<(value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onChange: import("vue").PropType<(value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onClick: import("vue").PropType<(context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
        e: MouseEvent;
    }) => void>;
    onDragEnd: import("vue").PropType<(context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onDragLeave: import("vue").PropType<(context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onDragOver: import("vue").PropType<(context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onDragStart: import("vue").PropType<(context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onDrop: import("vue").PropType<(context: {
        e: DragEvent;
        dragNode: import("./type").TreeNodeModel<TreeOptionData>;
        dropNode: import("./type").TreeNodeModel<TreeOptionData>;
        dropPosition: number;
    }) => void>;
    onExpand: import("vue").PropType<(value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
        e: MouseEvent;
    }) => void>;
    onLoad: import("vue").PropType<(context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
}, import("@vue/composition-api").ExtractPropTypes<{
    activable: BooleanConstructor;
    activeMultiple: BooleanConstructor;
    actived: {
        type: import("vue").PropType<TreeNodeValue[]>;
    };
    defaultActived: {
        type: import("vue").PropType<TreeNodeValue[]>;
    };
    allowFoldNodeOnFilter: BooleanConstructor;
    checkProps: {
        type: import("vue").PropType<import("../checkbox").TypeCheckboxProps>;
    };
    checkStrictly: BooleanConstructor;
    checkable: BooleanConstructor;
    data: {
        type: import("vue").PropType<TreeOptionData[]>;
        default: () => TreeOptionData[];
    };
    disableCheck: {
        type: import("vue").PropType<boolean | ((node: import("./type").TreeNodeModel<TreeOptionData>) => boolean)>;
        default: boolean;
    };
    disabled: BooleanConstructor;
    draggable: BooleanConstructor;
    empty: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    expandAll: BooleanConstructor;
    expandLevel: {
        type: NumberConstructor;
        default: number;
    };
    expandMutex: BooleanConstructor;
    expandOnClickNode: BooleanConstructor;
    expandParent: BooleanConstructor;
    expanded: {
        type: import("vue").PropType<TreeNodeValue[]>;
        default: () => TreeNodeValue[];
    };
    defaultExpanded: {
        type: import("vue").PropType<TreeNodeValue[]>;
        default: () => TreeNodeValue[];
    };
    filter: {
        type: import("vue").PropType<(node: import("./type").TreeNodeModel<TreeOptionData>) => boolean>;
    };
    hover: BooleanConstructor;
    icon: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    keys: {
        type: import("vue").PropType<import("./type").TreeKeysType>;
    };
    label: {
        type: import("vue").PropType<string | boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    line: {
        type: import("vue").PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    load: {
        type: import("vue").PropType<(node: import("./type").TreeNodeModel<TreeOptionData>) => Promise<TreeOptionData[]>>;
    };
    operations: {
        type: import("vue").PropType<(h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    transition: {
        type: BooleanConstructor;
        default: boolean;
    };
    value: {
        type: import("vue").PropType<TreeNodeValue[]>;
        default: () => TreeNodeValue[];
    };
    defaultValue: {
        type: import("vue").PropType<TreeNodeValue[]>;
        default: () => TreeNodeValue[];
    };
    valueMode: {
        type: import("vue").PropType<"all" | "onlyLeaf" | "parentFirst">;
        default: "all" | "onlyLeaf" | "parentFirst";
        validator(val: "all" | "onlyLeaf" | "parentFirst"): boolean;
    };
    onActive: import("vue").PropType<(value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onChange: import("vue").PropType<(value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onClick: import("vue").PropType<(context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
        e: MouseEvent;
    }) => void>;
    onDragEnd: import("vue").PropType<(context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onDragLeave: import("vue").PropType<(context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onDragOver: import("vue").PropType<(context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onDragStart: import("vue").PropType<(context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
    onDrop: import("vue").PropType<(context: {
        e: DragEvent;
        dragNode: import("./type").TreeNodeModel<TreeOptionData>;
        dropNode: import("./type").TreeNodeModel<TreeOptionData>;
        dropPosition: number;
    }) => void>;
    onExpand: import("vue").PropType<(value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
        e: MouseEvent;
    }) => void>;
    onLoad: import("vue").PropType<(context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    lazy: boolean;
    data: TreeOptionData[];
    label: string | boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    line: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value: TreeNodeValue[];
    icon: boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    hover: boolean;
    disabled: boolean;
    empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    defaultValue: TreeNodeValue[];
    expanded: TreeNodeValue[];
    transition: boolean;
    draggable: boolean;
    defaultExpanded: TreeNodeValue[];
    expandMutex: boolean;
    disableCheck: boolean | ((node: import("./type").TreeNodeModel<TreeOptionData>) => boolean);
    valueMode: "all" | "onlyLeaf" | "parentFirst";
    expandAll: boolean;
    expandLevel: number;
    expandParent: boolean;
    activable: boolean;
    activeMultiple: boolean;
    checkable: boolean;
    checkStrictly: boolean;
    allowFoldNodeOnFilter: boolean;
    expandOnClickNode: boolean;
} & {
    filter?: (node: import("./type").TreeNodeModel<TreeOptionData>) => boolean;
    keys?: unknown;
    load?: (node: import("./type").TreeNodeModel<TreeOptionData>) => Promise<TreeOptionData[]>;
    onChange?: (value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onClick?: (context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
        e: MouseEvent;
    }) => void;
    onDragStart?: (context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onDragEnd?: (context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    operations?: (h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
        e: MouseEvent;
    }) => void;
    actived?: TreeNodeValue[];
    defaultActived?: TreeNodeValue[];
    checkProps?: unknown;
    onActive?: (value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onDragLeave?: (context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onDragOver?: (context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onDrop?: (context: {
        e: DragEvent;
        dragNode: import("./type").TreeNodeModel<TreeOptionData>;
        dropNode: import("./type").TreeNodeModel<TreeOptionData>;
        dropPosition: number;
    }) => void;
    onLoad?: (context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    t: <T>(pattern: T, ...args: any[]) => any;
    global: import("@vue/composition-api").Ref<{
        empty?: string;
        folderIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    }>;
    classPrefix: import("@vue/composition-api").ComputedRef<string>;
    componentName: import("@vue/composition-api").ComputedRef<string>;
    store: import("@ldesign/utils/es/tree/tree-store").TreeStore;
    cache: import("./interface").TypeTreeCache;
    classList: import("@vue/composition-api").ComputedRef<string[]>;
    updateStoreConfig: () => void;
    setActived: (item: import("./interface").TypeTargetNode, isActived: boolean) => import("@ldesign/utils/es/tree/types").TreeNodeValue[];
    setExpanded: (item: import("./interface").TypeTargetNode, isExpanded: boolean) => TreeNodeValue[];
    setChecked: (item: import("./interface").TypeTargetNode, isChecked: boolean) => TreeNodeValue[];
    renderTreeNodes: (h: import("vue").CreateElement) => any[];
    nodesFilterEmpty: import("@vue/composition-api").Ref<boolean>;
}>, import("@vue/composition-api").Data, {}, {
    setItem(value: TreeNodeValue, options: TreeNodeState): void;
    getItem(value: TreeNodeValue): TypeTreeNodeModel;
    getItems(value?: TreeNodeValue): TypeTreeNodeModel[];
    appendTo(para?: TreeNodeValue, item?: TreeOptionData | TreeOptionData[]): void;
    insertBefore(value: TreeNodeValue, item: TreeOptionData): void;
    insertAfter(value: TreeNodeValue, item: TreeOptionData): void;
    remove(value?: TreeNodeValue): void;
    getIndex(value: TreeNodeValue): number;
    getParent(value: TreeNodeValue): TypeTreeNodeModel;
    getParents(value: TreeNodeValue): TypeTreeNodeModel[];
    getPath(value: TreeNodeValue): TypeTreeNodeModel[];
}, {}, {}, {}, {
    lazy: boolean;
    data: TreeOptionData[];
    label: string | boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    line: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value: TreeNodeValue[];
    icon: boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    hover: boolean;
    disabled: boolean;
    empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    defaultValue: TreeNodeValue[];
    expanded: TreeNodeValue[];
    transition: boolean;
    draggable: boolean;
    defaultExpanded: TreeNodeValue[];
    expandMutex: boolean;
    disableCheck: boolean | ((node: import("./type").TreeNodeModel<TreeOptionData>) => boolean);
    valueMode: "all" | "onlyLeaf" | "parentFirst";
    expandAll: boolean;
    expandLevel: number;
    expandParent: boolean;
    activable: boolean;
    activeMultiple: boolean;
    checkable: boolean;
    checkStrictly: boolean;
    allowFoldNodeOnFilter: boolean;
    expandOnClickNode: boolean;
} & {
    filter?: (node: import("./type").TreeNodeModel<TreeOptionData>) => boolean;
    keys?: unknown;
    load?: (node: import("./type").TreeNodeModel<TreeOptionData>) => Promise<TreeOptionData[]>;
    onChange?: (value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onClick?: (context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
        e: MouseEvent;
    }) => void;
    onDragStart?: (context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onDragEnd?: (context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    operations?: (h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue;
    onExpand?: (value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
        e: MouseEvent;
    }) => void;
    actived?: TreeNodeValue[];
    defaultActived?: TreeNodeValue[];
    checkProps?: unknown;
    onActive?: (value: TreeNodeValue[], context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onDragLeave?: (context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onDragOver?: (context: {
        e: DragEvent;
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
    onDrop?: (context: {
        e: DragEvent;
        dragNode: import("./type").TreeNodeModel<TreeOptionData>;
        dropNode: import("./type").TreeNodeModel<TreeOptionData>;
        dropPosition: number;
    }) => void;
    onLoad?: (context: {
        node: import("./type").TreeNodeModel<TreeOptionData>;
    }) => void;
}, {
    lazy: boolean;
    data: TreeOptionData[];
    label: string | boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    line: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    value: TreeNodeValue[];
    icon: boolean | ((h: import("vue").CreateElement, props: import("./type").TreeNodeModel<TreeOptionData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    hover: boolean;
    disabled: boolean;
    empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    defaultValue: TreeNodeValue[];
    expanded: TreeNodeValue[];
    transition: boolean;
    draggable: boolean;
    defaultExpanded: TreeNodeValue[];
    expandMutex: boolean;
    disableCheck: boolean | ((node: import("./type").TreeNodeModel<TreeOptionData>) => boolean);
    valueMode: "all" | "onlyLeaf" | "parentFirst";
    expandAll: boolean;
    expandLevel: number;
    expandParent: boolean;
    activable: boolean;
    activeMultiple: boolean;
    checkable: boolean;
    checkStrictly: boolean;
    allowFoldNodeOnFilter: boolean;
    expandOnClickNode: boolean;
}, true>);
export default _default;
