import { PopoverConfig } from './types';
export type { PopoverConfig, PopoverPlacement } from './types';
export declare class Popover {
    private readonly trigger;
    private readonly placement;
    private readonly closeOnClickOutside;
    private readonly closeOnEscape;
    private readonly className;
    private readonly onOpenCallback;
    private readonly onCloseCallback;
    private readonly popoverId;
    private popoverEl;
    private contentEl;
    private content;
    private opened;
    private destroyed;
    /** Bound event handlers for cleanup */
    private readonly handleTriggerClick;
    private readonly handleDocumentClick;
    private readonly handleKeyDown;
    constructor(config: PopoverConfig);
    /** Check whether the popover is currently open */
    isOpen(): boolean;
    /** Open the popover */
    open(): void;
    /** Close the popover */
    close(): void;
    /** Toggle the popover open/closed */
    toggle(): void;
    /** Update the popover content */
    setContent(content: HTMLElement | string): void;
    /** Remove all listeners and clean up */
    destroy(): void;
    /** Create the popover DOM element and append to body */
    private createPopoverElement;
    /** Render the content into the content element */
    private renderContent;
    /** Position the popover relative to the trigger element */
    private positionPopover;
    /** Get the left position based on alignment */
    private getAlignedLeft;
}
//# sourceMappingURL=index.d.ts.map