import { ComponentSize } from '../../enums/ComponentSize/ComponentSize';
interface Props {
    /**
     * can be used to force popup visibility state
     * even if it is controlled by activator slot
     */
    shown?: boolean;
    size?: ComponentSize;
    /**
     * if true, popup contents will overflow popup container, without scrolling
     * useful for small popups with select components, which have not enough space
     * to show its dropdown content without scrolling the popup
     */
    overflow?: boolean;
    /**
     * disable popup visibility
     * __even if `shown` prop is "true"__
     */
    disabled?: boolean;
    closable?: boolean;
}
interface ActivatorSlotScope {
    shown: Props['shown'];
    size: Props['size'];
    disabled: Props['disabled'];
    open: () => void;
    close: () => void;
    toggle: () => void;
}
type __VLS_Slots = {
    activator?: ActivatorSlotScope;
};
declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    close: () => any;
    "popup:opened": () => any;
    "popup:closed": () => any;
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
    onClose?: () => any;
    "onPopup:opened"?: () => any;
    "onPopup:closed"?: () => any;
}>, {
    disabled: boolean;
    size: ComponentSize;
    closable: boolean;
    shown: boolean;
    overflow: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
