import { TdDropdownProps } from './type';
import './style';
export * from './type';
export declare type DropdownProps = TdDropdownProps;
export declare const Dropdown: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            direction?: "left" | "right";
            maxHeight?: number;
            disabled?: boolean;
            options?: import("./type").DropdownOption[];
            trigger?: "click" | "focus" | "context-menu" | "hover";
            placement?: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
            maxColumnWidth?: string | number;
            minColumnWidth?: string | number;
            hideAfterItemClick?: boolean;
            key?: string | number | symbol;
            style?: unknown;
            readonly onClick?: (dropdownItem: import("./type").DropdownOption, context: {
                e: MouseEvent;
            }) => void;
            class?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            readonly popupProps?: unknown;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            direction: {
                type: import("vue").PropType<"left" | "right">;
                default: "left" | "right";
                validator(val: "left" | "right"): boolean;
            };
            disabled: BooleanConstructor;
            hideAfterItemClick: {
                type: BooleanConstructor;
                default: boolean;
            };
            maxColumnWidth: {
                type: import("vue").PropType<string | number>;
                default: number;
            };
            maxHeight: {
                type: NumberConstructor;
                default: number;
            };
            minColumnWidth: {
                type: import("vue").PropType<string | number>;
                default: number;
            };
            options: {
                type: import("vue").PropType<import("./type").DropdownOption[]>;
                default: () => import("./type").DropdownOption[];
            };
            placement: {
                type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">;
                default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
                validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean;
            };
            popupProps: {
                type: import("vue").PropType<import("..").TdPopupProps>;
            };
            trigger: {
                type: import("vue").PropType<"click" | "focus" | "context-menu" | "hover">;
                default: "click" | "focus" | "context-menu" | "hover";
                validator(val: "click" | "focus" | "context-menu" | "hover"): boolean;
            };
            onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
                e: MouseEvent;
            }) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            direction: "left" | "right";
            maxHeight: number;
            disabled: boolean;
            options: import("./type").DropdownOption[];
            trigger: "click" | "focus" | "context-menu" | "hover";
            placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
            maxColumnWidth: string | number;
            minColumnWidth: string | number;
            hideAfterItemClick: boolean;
        }, {}, string, {}> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        direction: {
            type: import("vue").PropType<"left" | "right">;
            default: "left" | "right";
            validator(val: "left" | "right"): boolean;
        };
        disabled: BooleanConstructor;
        hideAfterItemClick: {
            type: BooleanConstructor;
            default: boolean;
        };
        maxColumnWidth: {
            type: import("vue").PropType<string | number>;
            default: number;
        };
        maxHeight: {
            type: NumberConstructor;
            default: number;
        };
        minColumnWidth: {
            type: import("vue").PropType<string | number>;
            default: number;
        };
        options: {
            type: import("vue").PropType<import("./type").DropdownOption[]>;
            default: () => import("./type").DropdownOption[];
        };
        placement: {
            type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">;
            default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
            validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean;
        };
        popupProps: {
            type: import("vue").PropType<import("..").TdPopupProps>;
        };
        trigger: {
            type: import("vue").PropType<"click" | "focus" | "context-menu" | "hover">;
            default: "click" | "focus" | "context-menu" | "hover";
            validator(val: "click" | "focus" | "context-menu" | "hover"): boolean;
        };
        onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
            e: MouseEvent;
        }) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    direction: {
        type: import("vue").PropType<"left" | "right">;
        default: "left" | "right";
        validator(val: "left" | "right"): boolean;
    };
    disabled: BooleanConstructor;
    hideAfterItemClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxColumnWidth: {
        type: import("vue").PropType<string | number>;
        default: number;
    };
    maxHeight: {
        type: NumberConstructor;
        default: number;
    };
    minColumnWidth: {
        type: import("vue").PropType<string | number>;
        default: number;
    };
    options: {
        type: import("vue").PropType<import("./type").DropdownOption[]>;
        default: () => import("./type").DropdownOption[];
    };
    placement: {
        type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">;
        default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
        validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean;
    };
    popupProps: {
        type: import("vue").PropType<import("..").TdPopupProps>;
    };
    trigger: {
        type: import("vue").PropType<"click" | "focus" | "context-menu" | "hover">;
        default: "click" | "focus" | "context-menu" | "hover";
        validator(val: "click" | "focus" | "context-menu" | "hover"): boolean;
    };
    onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
        e: MouseEvent;
    }) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    direction: "left" | "right";
    maxHeight: number;
    disabled: boolean;
    options: import("./type").DropdownOption[];
    trigger: "click" | "focus" | "context-menu" | "hover";
    placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
    maxColumnWidth: string | number;
    minColumnWidth: string | number;
    hideAfterItemClick: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export declare const DropdownItem: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            active?: boolean;
            content?: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            disabled?: boolean;
            theme?: import("./type").DropdownItemTheme;
            divider?: boolean;
            maxColumnWidth?: string | number;
            minColumnWidth?: string | number;
            isSubmenu?: boolean;
            key?: string | number | symbol;
            readonly value?: unknown;
            style?: unknown;
            readonly onClick?: (dropdownItem: import("./type").DropdownOption, context: {
                e: MouseEvent;
            }) => void;
            class?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            readonly prefixIcon?: (h: typeof import("vue").h) => import("..").SlotReturnValue;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            maxColumnWidth: {
                type: import("vue").PropType<string | number>;
                default: number;
            };
            minColumnWidth: {
                type: import("vue").PropType<string | number>;
                default: number;
            };
            isSubmenu: BooleanConstructor;
            active: BooleanConstructor;
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: string;
            };
            disabled: BooleanConstructor;
            divider: BooleanConstructor;
            prefixIcon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            theme: {
                type: import("vue").PropType<import("./type").DropdownItemTheme>;
                default: import("./type").DropdownItemTheme;
                validator(val: import("./type").DropdownItemTheme): boolean;
            };
            value: {
                type: import("vue").PropType<string | number | {
                    [key: string]: any;
                }>;
            };
            onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
                e: MouseEvent;
            }) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            active: boolean;
            content: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            disabled: boolean;
            theme: import("./type").DropdownItemTheme;
            divider: boolean;
            maxColumnWidth: string | number;
            minColumnWidth: string | number;
            isSubmenu: boolean;
        }, {}, string, {}> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        maxColumnWidth: {
            type: import("vue").PropType<string | number>;
            default: number;
        };
        minColumnWidth: {
            type: import("vue").PropType<string | number>;
            default: number;
        };
        isSubmenu: BooleanConstructor;
        active: BooleanConstructor;
        content: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            default: string;
        };
        disabled: BooleanConstructor;
        divider: BooleanConstructor;
        prefixIcon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        theme: {
            type: import("vue").PropType<import("./type").DropdownItemTheme>;
            default: import("./type").DropdownItemTheme;
            validator(val: import("./type").DropdownItemTheme): boolean;
        };
        value: {
            type: import("vue").PropType<string | number | {
                [key: string]: any;
            }>;
        };
        onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
            e: MouseEvent;
        }) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    maxColumnWidth: {
        type: import("vue").PropType<string | number>;
        default: number;
    };
    minColumnWidth: {
        type: import("vue").PropType<string | number>;
        default: number;
    };
    isSubmenu: BooleanConstructor;
    active: BooleanConstructor;
    content: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        default: string;
    };
    disabled: BooleanConstructor;
    divider: BooleanConstructor;
    prefixIcon: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    theme: {
        type: import("vue").PropType<import("./type").DropdownItemTheme>;
        default: import("./type").DropdownItemTheme;
        validator(val: import("./type").DropdownItemTheme): boolean;
    };
    value: {
        type: import("vue").PropType<string | number | {
            [key: string]: any;
        }>;
    };
    onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
        e: MouseEvent;
    }) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    active: boolean;
    content: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    disabled: boolean;
    theme: import("./type").DropdownItemTheme;
    divider: boolean;
    maxColumnWidth: string | number;
    minColumnWidth: string | number;
    isSubmenu: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export declare const DropdownMenu: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            direction?: "left" | "right";
            maxHeight?: number;
            disabled?: boolean;
            options?: import("./type").DropdownOption[];
            trigger?: "click" | "focus" | "context-menu" | "hover";
            placement?: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
            maxColumnWidth?: string | number;
            minColumnWidth?: string | number;
            hideAfterItemClick?: boolean;
            key?: string | number | symbol;
            style?: unknown;
            readonly onClick?: (dropdownItem: import("./type").DropdownOption, context: {
                e: MouseEvent;
            }) => void;
            class?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            readonly popupProps?: unknown;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            direction: {
                type: import("vue").PropType<"left" | "right">;
                default: "left" | "right";
                validator(val: "left" | "right"): boolean;
            };
            disabled: BooleanConstructor;
            hideAfterItemClick: {
                type: BooleanConstructor;
                default: boolean;
            };
            maxColumnWidth: {
                type: import("vue").PropType<string | number>;
                default: number;
            };
            maxHeight: {
                type: NumberConstructor;
                default: number;
            };
            minColumnWidth: {
                type: import("vue").PropType<string | number>;
                default: number;
            };
            options: {
                type: import("vue").PropType<import("./type").DropdownOption[]>;
                default: () => import("./type").DropdownOption[];
            };
            placement: {
                type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">;
                default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
                validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean;
            };
            popupProps: {
                type: import("vue").PropType<import("..").TdPopupProps>;
            };
            trigger: {
                type: import("vue").PropType<"click" | "focus" | "context-menu" | "hover">;
                default: "click" | "focus" | "context-menu" | "hover";
                validator(val: "click" | "focus" | "context-menu" | "hover"): boolean;
            };
            onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
                e: MouseEvent;
            }) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            direction: "left" | "right";
            maxHeight: number;
            disabled: boolean;
            options: import("./type").DropdownOption[];
            trigger: "click" | "focus" | "context-menu" | "hover";
            placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
            maxColumnWidth: string | number;
            minColumnWidth: string | number;
            hideAfterItemClick: boolean;
        }, {}, string, {}> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        direction: {
            type: import("vue").PropType<"left" | "right">;
            default: "left" | "right";
            validator(val: "left" | "right"): boolean;
        };
        disabled: BooleanConstructor;
        hideAfterItemClick: {
            type: BooleanConstructor;
            default: boolean;
        };
        maxColumnWidth: {
            type: import("vue").PropType<string | number>;
            default: number;
        };
        maxHeight: {
            type: NumberConstructor;
            default: number;
        };
        minColumnWidth: {
            type: import("vue").PropType<string | number>;
            default: number;
        };
        options: {
            type: import("vue").PropType<import("./type").DropdownOption[]>;
            default: () => import("./type").DropdownOption[];
        };
        placement: {
            type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">;
            default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
            validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean;
        };
        popupProps: {
            type: import("vue").PropType<import("..").TdPopupProps>;
        };
        trigger: {
            type: import("vue").PropType<"click" | "focus" | "context-menu" | "hover">;
            default: "click" | "focus" | "context-menu" | "hover";
            validator(val: "click" | "focus" | "context-menu" | "hover"): boolean;
        };
        onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
            e: MouseEvent;
        }) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    direction: {
        type: import("vue").PropType<"left" | "right">;
        default: "left" | "right";
        validator(val: "left" | "right"): boolean;
    };
    disabled: BooleanConstructor;
    hideAfterItemClick: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxColumnWidth: {
        type: import("vue").PropType<string | number>;
        default: number;
    };
    maxHeight: {
        type: NumberConstructor;
        default: number;
    };
    minColumnWidth: {
        type: import("vue").PropType<string | number>;
        default: number;
    };
    options: {
        type: import("vue").PropType<import("./type").DropdownOption[]>;
        default: () => import("./type").DropdownOption[];
    };
    placement: {
        type: import("vue").PropType<"left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom">;
        default: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
        validator(val: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom"): boolean;
    };
    popupProps: {
        type: import("vue").PropType<import("..").TdPopupProps>;
    };
    trigger: {
        type: import("vue").PropType<"click" | "focus" | "context-menu" | "hover">;
        default: "click" | "focus" | "context-menu" | "hover";
        validator(val: "click" | "focus" | "context-menu" | "hover"): boolean;
    };
    onClick: import("vue").PropType<(dropdownItem: import("./type").DropdownOption, context: {
        e: MouseEvent;
    }) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    direction: "left" | "right";
    maxHeight: number;
    disabled: boolean;
    options: import("./type").DropdownOption[];
    trigger: "click" | "focus" | "context-menu" | "hover";
    placement: "left" | "top" | "bottom" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "left-top" | "left-bottom" | "right-top" | "right-bottom";
    maxColumnWidth: string | number;
    minColumnWidth: string | number;
    hideAfterItemClick: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
export default Dropdown;
