import { getCurrentInstance, PropType, DefineComponent, ExtractPropTypes, ComputedRef, Ref, ComponentOptionsMixin, PublicProps, VNode, RendererNode, RendererElement, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, GlobalComponents, GlobalDirectives, ComponentOptionsBase, VNodeProps, AllowedComponentProps, ComponentCustomProps } from 'vue';
import { CheckboxValue } from '../../checkbox/index.js';
import { default as Node } from './model/node.js';
import { RenderContentFunction, RootTreeType, TreeNodeClassValue, TreeNodeIcon, TreeOptionProps, TreeKey } from './tree.type.js';
import { SFCWithInstall } from '../../../xiaoye-primitives/src/utils/index.js';
import { CheckboxProps, IconProps } from '../../index.js';
import { ComponentSize } from '../../../xiaoye-primitives/index.js';
declare const _default: DefineComponent<ExtractPropTypes<{
    node: {
        type: PropType<Node>;
        required: true;
    };
    propsMapping: {
        type: PropType<TreeOptionProps>;
        default: () => {};
    };
    accordion: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderContent: {
        type: PropType<RenderContentFunction | undefined>;
        default: undefined;
    };
    renderAfterExpand: {
        type: BooleanConstructor;
        default: boolean;
    };
    showCheckbox: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    ns: {
        namespace: ComputedRef<string>;
        base: ComputedRef<string>;
        is: (state: string, active?: boolean) => string;
        cssVarBlock: (name: string) => string;
    };
    tree: RootTreeType;
    nodeRef: Ref<HTMLElement | null, HTMLElement | null>;
    expanded: ComputedRef<boolean>;
    childNodeRendered: Ref<boolean, boolean>;
    nodeClasses: ComputedRef<TreeNodeClassValue[]>;
    nodeIdentifier: ComputedRef<TreeKey>;
    expandIconClasses: ComputedRef<string[]>;
    expandIconName: ComputedRef<string | undefined>;
    expandIconComponent: ComputedRef<TreeNodeIcon | null>;
    loadingIcon: string;
    ariaPosInSet: ComputedRef<number>;
    ariaSetSize: ComputedRef<number>;
    statusTipId: ComputedRef<string | undefined>;
    contentStyle: ComputedRef<{
        paddingLeft: string;
    }>;
    getChildKey: (node: Node) => TreeKey;
    getNodeContentClass: (node: Node) => TreeNodeClassValue;
    handleClick: (event: MouseEvent) => void;
    handleContextMenu: (event: Event) => void;
    handleDragStart: (event: DragEvent) => void;
    handleDragOver: (event: DragEvent) => void;
    handleDrop: (event: DragEvent) => void;
    handleDragEnd: (event: DragEvent) => void;
    handleExpandIconClick: () => void;
    handleCheckChange: (value: CheckboxValue) => void;
    handleChildNodeExpand: (nodeData: Record<string, unknown>, node: Node, nodeInstance: ReturnType<typeof getCurrentInstance>) => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "node-expand"[], "node-expand", PublicProps, Readonly< ExtractPropTypes<{
    node: {
        type: PropType<Node>;
        required: true;
    };
    propsMapping: {
        type: PropType<TreeOptionProps>;
        default: () => {};
    };
    accordion: {
        type: BooleanConstructor;
        default: boolean;
    };
    renderContent: {
        type: PropType<RenderContentFunction | undefined>;
        default: undefined;
    };
    renderAfterExpand: {
        type: BooleanConstructor;
        default: boolean;
    };
    showCheckbox: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    "onNode-expand"?: ((...args: any[]) => any) | undefined;
}>, {
    accordion: boolean;
    renderContent: RenderContentFunction | undefined;
    propsMapping: TreeOptionProps;
    renderAfterExpand: boolean;
    showCheckbox: boolean;
}, {}, {
    TreeNodeContent: DefineComponent<ExtractPropTypes<{
        node: {
            type: PropType<Node>;
            required: true;
        };
        renderContent: {
            type: PropType<RenderContentFunction | undefined>;
            default: undefined;
        };
    }>, () => VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }> | VNode<RendererNode, RendererElement, {
        [key: string]: any;
    }>[], {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
        node: {
            type: PropType<Node>;
            required: true;
        };
        renderContent: {
            type: PropType<RenderContentFunction | undefined>;
            default: undefined;
        };
    }>> & Readonly<{}>, {
        renderContent: RenderContentFunction | undefined;
    }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
    XyCheckbox: SFCWithInstall<{
        new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly< CheckboxProps> & Readonly<{
            onChange?: ((value: CheckboxValue) => any) | undefined;
            "onUpdate:modelValue"?: ((value: CheckboxValue) => any) | undefined;
        }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
            change: (value: CheckboxValue) => any;
            "update:modelValue": (value: CheckboxValue) => any;
        }, PublicProps, {
            size: ComponentSize;
            id: string;
            value: CheckboxValue;
            modelValue: CheckboxValue;
            name: string;
            label: string | number | boolean;
            disabled: boolean;
            border: boolean;
            tabindex: string | number;
            validateEvent: boolean;
            ariaLabel: string;
            checked: boolean;
            indeterminate: boolean;
            trueValue: string | number;
            falseValue: string | number;
            ariaControls: string;
        }, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, HTMLLabelElement, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< CheckboxProps> & Readonly<{
            onChange?: ((value: CheckboxValue) => any) | undefined;
            "onUpdate:modelValue"?: ((value: CheckboxValue) => any) | undefined;
        }>, {}, {}, {}, {}, {
            size: ComponentSize;
            id: string;
            value: CheckboxValue;
            modelValue: CheckboxValue;
            name: string;
            label: string | number | boolean;
            disabled: boolean;
            border: boolean;
            tabindex: string | number;
            validateEvent: boolean;
            ariaLabel: string;
            checked: boolean;
            indeterminate: boolean;
            trueValue: string | number;
            falseValue: string | number;
            ariaControls: string;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & ComponentOptionsBase<Readonly< CheckboxProps> & Readonly<{
        onChange?: ((value: CheckboxValue) => any) | undefined;
        "onUpdate:modelValue"?: ((value: CheckboxValue) => any) | undefined;
    }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        change: (value: CheckboxValue) => any;
        "update:modelValue": (value: CheckboxValue) => any;
    }, string, {
        size: ComponentSize;
        id: string;
        value: CheckboxValue;
        modelValue: CheckboxValue;
        name: string;
        label: string | number | boolean;
        disabled: boolean;
        border: boolean;
        tabindex: string | number;
        validateEvent: boolean;
        ariaLabel: string;
        checked: boolean;
        indeterminate: boolean;
        trueValue: string | number;
        falseValue: string | number;
        ariaControls: string;
    }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
        $slots: {
            default?(_: {}): any;
        };
    })>;
    XyCollapseTransition: SFCWithInstall<{
        new (...args: any[]): CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
        $slots: {
            default?(_: {}): any;
        };
    })>;
    XyIcon: SFCWithInstall<DefineComponent<IconProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< IconProps> & Readonly<{}>, {
        size: number | string;
        rotate: number;
        spin: boolean;
    }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>>;
}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
