import { StyleValue, DefineComponent, ComponentOptionsMixin, PublicProps, CSSProperties, ComponentProvideOptions } from 'vue';
import { MenuIcon, SubMenuProps } from './sub-menu.js';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        title?(_: {}): any;
        default?(_: {}): any;
        default?(_: {}): any;
        default?(_: {}): any;
    };
    refs: {
        triggerRef: HTMLDivElement;
        popupRef: HTMLUListElement;
    };
    rootEl: HTMLLIElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<SubMenuProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<SubMenuProps> & Readonly<{}>, {
    disabled: boolean;
    teleported: boolean;
    popperClass: string;
    popperStyle: string | false | CSSProperties | StyleValue[] | null;
    popperOffset: number;
    showTimeout: number;
    hideTimeout: number;
    expandCloseIcon: MenuIcon;
    expandOpenIcon: MenuIcon;
    collapseCloseIcon: MenuIcon;
    collapseOpenIcon: MenuIcon;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    triggerRef: HTMLDivElement;
    popupRef: HTMLUListElement;
}, HTMLLIElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
