import type { MenuOption } from './types';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    transition: {
        type: import("vue").PropType<string>;
    };
    content: {
        type: import("vue").PropType<string>;
    };
    trigger: {
        type: import("vue").PropType<"click" | "hover">;
    };
    placement: {
        type: import("vue").PropType<import("@popperjs/core").Placement>;
        required: true;
    };
    manual: {
        type: import("vue").PropType<boolean>;
    };
    popperOptions: {
        type: import("vue").PropType<Partial<import("@popperjs/core").Options>>;
    };
    openDelay: {
        type: import("vue").PropType<number>;
    };
    closeDelay: {
        type: import("vue").PropType<number>;
    };
    menuOptions: {
        type: import("vue").PropType<MenuOption[]>;
        required: true;
    };
    hideAfterClick: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
}, {
    show: () => void;
    hide: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "visible-change": (value: boolean) => void;
    select: (value: MenuOption) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    transition: {
        type: import("vue").PropType<string>;
    };
    content: {
        type: import("vue").PropType<string>;
    };
    trigger: {
        type: import("vue").PropType<"click" | "hover">;
    };
    placement: {
        type: import("vue").PropType<import("@popperjs/core").Placement>;
        required: true;
    };
    manual: {
        type: import("vue").PropType<boolean>;
    };
    popperOptions: {
        type: import("vue").PropType<Partial<import("@popperjs/core").Options>>;
    };
    openDelay: {
        type: import("vue").PropType<number>;
    };
    closeDelay: {
        type: import("vue").PropType<number>;
    };
    menuOptions: {
        type: import("vue").PropType<MenuOption[]>;
        required: true;
    };
    hideAfterClick: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
}>> & {
    onSelect?: ((value: MenuOption) => any) | undefined;
    "onVisible-change"?: ((value: boolean) => any) | undefined;
}, {
    hideAfterClick: boolean;
}, {}>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
