import Dropdown from './Dropdown.vue';
export declare const GmDropdown: import("../../../../utils").SFCWithInstall<{
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        trigger: {
            readonly type: import("vue").PropType<import("element-plus").TooltipTriggerType | import("element-plus").TooltipTriggerType[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "hover";
        };
        triggerKeys: {
            readonly type: import("vue").PropType<string[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => string[];
        };
        virtualTriggering: BooleanConstructor;
        virtualRef: {
            readonly type: import("vue").PropType<import("element-plus").Measurable>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        effect: {
            readonly default: "light";
            readonly type: import("vue").PropType<import("element-plus").PopperEffect>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            readonly __epPropKey: true;
        };
        type: {
            readonly type: import("vue").PropType<"" | "default" | "primary" | "success" | "warning" | "info" | "text" | "danger">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        placement: {
            readonly type: import("vue").PropType<import("element-plus").Placement>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "bottom";
        };
        popperOptions: {
            readonly type: import("vue").PropType<Partial<import("element-plus").Options>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        id: StringConstructor;
        size: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        splitButton: BooleanConstructor;
        hideOnClick: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        loop: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        showArrow: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        showTimeout: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 150;
        };
        hideTimeout: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 150;
        };
        tabindex: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 0;
        };
        maxHeight: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        popperClass: {
            readonly type: import("vue").PropType<string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | any[] | {
                [x: string]: boolean;
            })[])[])[])[])[])[])[])[])[])[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        disabled: BooleanConstructor;
        role: {
            readonly type: import("vue").PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree" | "group" | "navigation">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "menu";
        };
        buttonProps: {
            readonly type: import("vue").PropType<Partial<import("element-plus").ButtonProps>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        teleported: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        persistent: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
    }>> & {
        onClick?: ((event: MouseEvent) => any) | undefined;
        "onVisible-change"?: ((value?: any) => any) | undefined;
        onCommand?: ((...args: any[]) => any) | undefined;
    }, {
        handleOpen: () => void;
        handleClose: () => void;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        click: (event: MouseEvent) => void;
        "visible-change": (value?: any) => void;
        command: (...args: any[]) => void;
    }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        trigger: {
            readonly type: import("vue").PropType<import("element-plus").TooltipTriggerType | import("element-plus").TooltipTriggerType[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "hover";
        };
        triggerKeys: {
            readonly type: import("vue").PropType<string[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => string[];
        };
        virtualTriggering: BooleanConstructor;
        virtualRef: {
            readonly type: import("vue").PropType<import("element-plus").Measurable>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        effect: {
            readonly default: "light";
            readonly type: import("vue").PropType<import("element-plus").PopperEffect>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            readonly __epPropKey: true;
        };
        type: {
            readonly type: import("vue").PropType<"" | "default" | "primary" | "success" | "warning" | "info" | "text" | "danger">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        placement: {
            readonly type: import("vue").PropType<import("element-plus").Placement>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "bottom";
        };
        popperOptions: {
            readonly type: import("vue").PropType<Partial<import("element-plus").Options>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        id: StringConstructor;
        size: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        splitButton: BooleanConstructor;
        hideOnClick: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        loop: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        showArrow: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        showTimeout: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 150;
        };
        hideTimeout: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 150;
        };
        tabindex: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 0;
        };
        maxHeight: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        popperClass: {
            readonly type: import("vue").PropType<string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | any[] | {
                [x: string]: boolean;
            })[])[])[])[])[])[])[])[])[])[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        disabled: BooleanConstructor;
        role: {
            readonly type: import("vue").PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree" | "group" | "navigation">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "menu";
        };
        buttonProps: {
            readonly type: import("vue").PropType<Partial<import("element-plus").ButtonProps>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        teleported: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        persistent: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
    }>> & {
        onClick?: ((event: MouseEvent) => any) | undefined;
        "onVisible-change"?: ((value?: any) => any) | undefined;
        onCommand?: ((...args: any[]) => any) | undefined;
    }, {
        placement: import("element-plus").Placement;
        size: string;
        effect: import("element-plus").PopperEffect;
        maxHeight: string | number;
        disabled: boolean;
        teleported: boolean;
        tabindex: string | number;
        trigger: import("element-plus").TooltipTriggerType | import("element-plus").TooltipTriggerType[];
        loop: boolean;
        persistent: boolean;
        popperOptions: Partial<import("element-plus").Options>;
        triggerKeys: string[];
        virtualTriggering: boolean;
        splitButton: boolean;
        hideOnClick: boolean;
        showArrow: boolean;
        showTimeout: number;
        hideTimeout: number;
        role: "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree" | "group" | "navigation";
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        trigger: {
            readonly type: import("vue").PropType<import("element-plus").TooltipTriggerType | import("element-plus").TooltipTriggerType[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "hover";
        };
        triggerKeys: {
            readonly type: import("vue").PropType<string[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => string[];
        };
        virtualTriggering: BooleanConstructor;
        virtualRef: {
            readonly type: import("vue").PropType<import("element-plus").Measurable>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        effect: {
            readonly default: "light";
            readonly type: import("vue").PropType<import("element-plus").PopperEffect>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            readonly __epPropKey: true;
        };
        type: {
            readonly type: import("vue").PropType<"" | "default" | "primary" | "success" | "warning" | "info" | "text" | "danger">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        placement: {
            readonly type: import("vue").PropType<import("element-plus").Placement>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "bottom";
        };
        popperOptions: {
            readonly type: import("vue").PropType<Partial<import("element-plus").Options>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => {};
        };
        id: StringConstructor;
        size: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        splitButton: BooleanConstructor;
        hideOnClick: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        loop: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        showArrow: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        showTimeout: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 150;
        };
        hideTimeout: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 150;
        };
        tabindex: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: 0;
        };
        maxHeight: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        popperClass: {
            readonly type: import("vue").PropType<string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | any[] | {
                [x: string]: boolean;
            })[])[])[])[])[])[])[])[])[])[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperStyle: {
            readonly type: import("vue").PropType<import("vue").StyleValue>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        disabled: BooleanConstructor;
        role: {
            readonly type: import("vue").PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree" | "group" | "navigation">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "menu";
        };
        buttonProps: {
            readonly type: import("vue").PropType<Partial<import("element-plus").ButtonProps>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        teleported: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
        persistent: {
            readonly type: import("vue").PropType<boolean>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: true;
        };
    }>> & {
        onClick?: ((event: MouseEvent) => any) | undefined;
        "onVisible-change"?: ((value?: any) => any) | undefined;
        onCommand?: ((...args: any[]) => any) | undefined;
    }, {
        handleOpen: () => void;
        handleClose: () => void;
    }, {}, {}, {}, {
        placement: import("element-plus").Placement;
        size: string;
        effect: import("element-plus").PopperEffect;
        maxHeight: string | number;
        disabled: boolean;
        teleported: boolean;
        tabindex: string | number;
        trigger: import("element-plus").TooltipTriggerType | import("element-plus").TooltipTriggerType[];
        loop: boolean;
        persistent: boolean;
        popperOptions: Partial<import("element-plus").Options>;
        triggerKeys: string[];
        virtualTriggering: boolean;
        splitButton: boolean;
        hideOnClick: boolean;
        showArrow: boolean;
        showTimeout: number;
        hideTimeout: number;
        role: "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree" | "group" | "navigation";
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    trigger: {
        readonly type: import("vue").PropType<import("element-plus").TooltipTriggerType | import("element-plus").TooltipTriggerType[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "hover";
    };
    triggerKeys: {
        readonly type: import("vue").PropType<string[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => string[];
    };
    virtualTriggering: BooleanConstructor;
    virtualRef: {
        readonly type: import("vue").PropType<import("element-plus").Measurable>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    effect: {
        readonly default: "light";
        readonly type: import("vue").PropType<import("element-plus").PopperEffect>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        readonly __epPropKey: true;
    };
    type: {
        readonly type: import("vue").PropType<"" | "default" | "primary" | "success" | "warning" | "info" | "text" | "danger">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    placement: {
        readonly type: import("vue").PropType<import("element-plus").Placement>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "bottom";
    };
    popperOptions: {
        readonly type: import("vue").PropType<Partial<import("element-plus").Options>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => {};
    };
    id: StringConstructor;
    size: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "";
    };
    splitButton: BooleanConstructor;
    hideOnClick: {
        readonly type: import("vue").PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    loop: {
        readonly type: import("vue").PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    showArrow: {
        readonly type: import("vue").PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    showTimeout: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 150;
    };
    hideTimeout: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 150;
    };
    tabindex: {
        readonly type: import("vue").PropType<string | number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 0;
    };
    maxHeight: {
        readonly type: import("vue").PropType<string | number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "";
    };
    popperClass: {
        readonly type: import("vue").PropType<string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | {
            [x: string]: boolean;
        } | (string | any[] | {
            [x: string]: boolean;
        })[])[])[])[])[])[])[])[])[])[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    popperStyle: {
        readonly type: import("vue").PropType<import("vue").StyleValue>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    disabled: BooleanConstructor;
    role: {
        readonly type: import("vue").PropType<"listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree" | "group" | "navigation">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "menu";
    };
    buttonProps: {
        readonly type: import("vue").PropType<Partial<import("element-plus").ButtonProps>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    teleported: {
        readonly type: import("vue").PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
    persistent: {
        readonly type: import("vue").PropType<boolean>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: true;
    };
}>> & {
    onClick?: ((event: MouseEvent) => any) | undefined;
    "onVisible-change"?: ((value?: any) => any) | undefined;
    onCommand?: ((...args: any[]) => any) | undefined;
}, {
    handleOpen: () => void;
    handleClose: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    click: (event: MouseEvent) => void;
    "visible-change": (value?: any) => void;
    command: (...args: any[]) => void;
}, string, {
    placement: import("element-plus").Placement;
    size: string;
    effect: import("element-plus").PopperEffect;
    maxHeight: string | number;
    disabled: boolean;
    teleported: boolean;
    tabindex: string | number;
    trigger: import("element-plus").TooltipTriggerType | import("element-plus").TooltipTriggerType[];
    loop: boolean;
    persistent: boolean;
    popperOptions: Partial<import("element-plus").Options>;
    triggerKeys: string[];
    virtualTriggering: boolean;
    splitButton: boolean;
    hideOnClick: boolean;
    showArrow: boolean;
    showTimeout: number;
    hideTimeout: number;
    role: "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree" | "group" | "navigation";
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
    $slots: {
        default?: ((props: {}) => any) | undefined;
    } & {
        dropdown?: ((props: {}) => any) | undefined;
    };
})> & Record<string, any>;
export type DropdownInstance = InstanceType<typeof Dropdown>;
export * from './dropdown';
export default GmDropdown;
