import type { Popover2Placement, Popover2TriggerType } from './types';
export interface MaPopover2Props {
    /**
     * Controls the visibility of the popover.
     * Bind with `v-model:visible`.
     * @default false
     */
    visible?: boolean;
    /**
     * The events that trigger the popover to open.
     * e.g. `['click']`, `['hover']`, `['focus']`, or any combination.
     * @default ['click']
     */
    trigger?: Popover2TriggerType[];
    /**
     * Whether the popover should automatically hide when clicking outside.
     * @default true
     */
    autoHide?: boolean;
    /**
     * Placement of the popover relative to its reference element.
     * e.g. `'bottom-start'`, `'top'`, `'right-end'`, etc.
     * @default 'bottom-start'
     */
    placement?: Popover2Placement;
    /**
     * Disables the popover (it will not open).
     * @default false
     */
    disabled?: boolean;
    /**
     * Disables Popper.js positioning logic (useful for mobile layouts).
     * @default false
     */
    isMobile?: boolean;
    /**
     * Additional CSS class name to apply to the popover container.
     */
    overlayClassName?: string;
    /**
     * Whether to display the little arrow pointing at the trigger.
     * @default false
     */
    showArrow?: boolean;
    /**
     * Removes the default padding inside the popover content.
     * @default false
     */
    noPadding?: boolean;
    /**
     * The container in which to mount the popover (portal).
     * Can be an `HTMLElement`, a selector string, or `null`.
     * @default 'body'
     */
    popupContainer?: HTMLElement | null | string;
    /**
     * Disable automatic focus on the popover when it opens.
     * @default false
     */
    noAutoFocus?: boolean;
    /**
     * Delay in milliseconds before hiding the popover after a hide trigger.
     * @default 0
     */
    hideDelay?: number;
    /**
     * Delay in milliseconds before showing the popover after a show trigger.
     * @default 0
     */
    showDelay?: number;
    /**
     * Enable Popper’s `preventOverflow` modifier to keep the popover within its boundary.
     * @default false
     */
    preventOverflow?: boolean;
    /**
     * Enable automatic max-sizing based on viewport boundaries.
     * The popover will be clipped to fit and become scrollable if its content is too large.
     * @default false
     */
    autoBoundaryMaxSize?: boolean;
}
declare var __VLS_11: {}, __VLS_13: {};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_11) => any;
} & {
    overlay?: (props: typeof __VLS_13) => any;
};
declare const __VLS_component: import("vue").DefineComponent<MaPopover2Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:visible": (...args: any[]) => void;
    visibleChange: (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<MaPopover2Props> & Readonly<{
    "onUpdate:visible"?: (...args: any[]) => any;
    onVisibleChange?: (...args: any[]) => any;
}>, {
    visible: boolean;
    trigger: Popover2TriggerType[];
    autoHide: boolean;
    placement: Popover2Placement;
    disabled: boolean;
    isMobile: boolean;
    overlayClassName: string;
    showArrow: boolean;
    noPadding: boolean;
    popupContainer: HTMLElement | null | string;
    noAutoFocus: boolean;
    hideDelay: number;
    showDelay: number;
    preventOverflow: boolean;
    autoBoundaryMaxSize: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
