import { type EventEmitter } from '../../stencil-public-runtime';
export declare class Popover {
    el: HTMLIfxPopoverElement;
    popoverVisible: boolean;
    computedArrowPosition: {
        top?: string;
        left?: string;
        right?: string;
        bottom?: string;
        transform?: string;
    };
    /** Title text displayed in the popover header */
    readonly popoverTitle: string;
    /** Body text displayed in the popover content */
    readonly text: string;
    /** Position of the popover relative to the trigger element */
    readonly position: 'bottom-start' | 'top-start' | 'left' | 'bottom-end' | 'top-end' | 'right' | 'bottom' | 'top' | 'auto';
    /** Whether the popover is disabled */
    readonly disabled: boolean;
    /** Whether the popover is initially open */
    open: boolean;
    /** Accessible label for the popover */
    readonly ariaLabel: string | null;
    /** Emitted when the popover is opened */
    ifxOpen: EventEmitter<{
        trigger: HTMLElement | null;
    }>;
    ifxClose: EventEmitter;
    private static readonly GAP;
    private popoverEl;
    private triggerEl;
    private lastOpenTrigger;
    openChanged(newValue: boolean): void;
    componentDidLoad(): Promise<void>;
    private setupTriggerElement;
    disconnectedCallback(): void;
    private cleanupTriggerListeners;
    private getViewportSpace;
    private resetPositioningStyles;
    private positionPopover;
    private getBestPosition;
    private validateAndAdjustPosition;
    private calculatePosition;
    positionChanged(): void;
    /** Programmatically show the popover */
    show(): Promise<void>;
    /** Programmatically hide the popover */
    hide(): Promise<void>;
    /** Programmatically toggle the popover visibility */
    toggle(): Promise<void>;
    private onClick;
    private onCloseClick;
    render(): any;
}
