export type FPopupOptionValue = any;
export interface FPopupOption {
    label: string;
    value: FPopupOptionValue;
    description?: string;
}
export interface FPopupProps {
    /**
     * Control menu visibility state from parent
     * @model
     */
    modelValue?: boolean;
    /**
     * If true, clicking outside the menu won't close it
     */
    persistent?: boolean;
    /**
     * Width of the menu
     */
    width?: number | string;
    /**
     * Disable the menu
     */
    disabled?: boolean;
    /**
     * Disable fade transitions
     */
    inanimated?: boolean;
    /**
     * Loading state of the menu
     */
    loading?: boolean;
    /**
     * Force the menu to be positioned as `absolute` instead of `fixed` by default
     */
    absolute?: boolean;
    /**
     * Set the z-index of the menu
     */
    zIndex?: number | string;
    /**
     * Offset in pixels along the activator element
     */
    offsetSkid?: number | string;
    /**
     * Offset in pixels away from the trigger element
     */
    offsetDistance?: number | string;
    /**
     * Prevent the activator to automatically toggle the menu on click, enter or space
     */
    preventActivation?: boolean;
}
/**
 * Toggle the menu
 */
declare function toggle(): Promise<void>;
/**
 * Open the menu
 */
declare function open(): void;
/**
 * Close the menu
 */
declare function close(): void;
declare function __VLS_template(): {
    slots: {
        activator?(_: {
            toggle: typeof toggle;
            open: typeof open;
            close: typeof close;
        }): any;
        default?(_: {
            toggle: typeof toggle;
            open: typeof open;
            close: typeof close;
        }): any;
    };
    refs: {
        popupRef: HTMLDivElement;
        activatorRef: HTMLDivElement;
        contentRef: HTMLDivElement;
    };
    attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<FPopupProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    "update:modelValue": (value: boolean) => any;
}, string, import('vue').PublicProps, Readonly<FPopupProps> & Readonly<{
    "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
}>, {
    width: number | string;
    loading: boolean;
    disabled: boolean;
    modelValue: boolean;
    persistent: boolean;
    inanimated: boolean;
    absolute: boolean;
    zIndex: number | string;
    offsetSkid: number | string;
    offsetDistance: number | string;
    preventActivation: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
