import { PopoverOptions } from './popover.types';
/**
* Headless popover controller. Unlike a tooltip, the content is interactive
* (links, forms, buttons): it toggles on click, manages focus, closes on
* outside-click / Escape, and positions with floating-ui. Applies no visual
* styles — only ARIA wiring and `data-state`.
*
* Markup:
* ```html
*
* ```
*/
export declare class Popover {
private readonly root;
private readonly trigger;
private readonly content;
private readonly placement;
private readonly offset;
private readonly autoFocus;
private readonly trapFocus;
private readonly closeOnOutsideClick;
private readonly trap;
private open;
private stopAutoUpdate;
private cleanups;
constructor(root: HTMLElement, options?: PopoverOptions);
private init;
private onKeydown;
private onOutsidePointer;
toggle(): void;
openPopover(): void;
close(): void;
private position;
get isOpen(): boolean;
/** Subscribe to a DOM event on the root element. Returns an unsubscribe fn. */
on(event: string, handler: (event: E) => void): () => void;
destroy(): void;
}