import { DropdownItem, DropdownOption } from './Dropdown.model';
type __VLS_Props = {
    options?: DropdownOption[];
    items?: DropdownItem[];
    x?: number;
    y?: number;
    align?: 'left' | 'right';
    openUp?: boolean;
    closeOnSelect?: boolean;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        trigger?(_: {
            isOpen: boolean;
            toggle: () => Promise<void>;
            open: () => Promise<void>;
            close: () => void;
            closeMenu: () => void;
        }): any;
        menu?(_: {
            closeMenu: () => void;
            close: () => void;
            isOpen: true;
        }): any;
    };
    refs: {
        triggerRef: HTMLDivElement;
        menuRef: HTMLDivElement;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    select: (item: DropdownItem) => any;
    close: () => any;
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
    onSelect?: ((item: DropdownItem) => any) | undefined;
    onClose?: (() => any) | undefined;
}>, {
    x: number;
    items: DropdownItem[];
    align: "left" | "right";
    options: DropdownOption[];
    y: number;
    openUp: boolean;
    closeOnSelect: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    triggerRef: HTMLDivElement;
    menuRef: HTMLDivElement;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
