import type { PopoverPolyfillOptions, PopoverShowPopoverOptions, PopoverTogglePopoverOptions, PopoverToggleTargetElementInvoker } from './shared-types.js';
declare global {
    /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent) */
    interface ToggleEvent extends Event {
        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/newState) */
        readonly newState: string;
        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/oldState) */
        readonly oldState: string;
    }
    interface HTMLElement {
        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover) */
        popover: string | null;
        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidePopover) */
        hidePopover(): void;
        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/showPopover) */
        showPopover(options?: PopoverShowPopoverOptions): void;
        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/togglePopover) */
        togglePopover(force?: boolean): boolean;
        /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/togglePopover) */
        togglePopover(options?: PopoverTogglePopoverOptions): boolean;
    }
    interface HTMLButtonElement extends PopoverToggleTargetElementInvoker {
    }
    interface HTMLInputElement extends PopoverToggleTargetElementInvoker {
    }
    interface Window {
        ToggleEvent: ToggleEvent;
        POPOVER_POLYFILL_OPTIONS?: PopoverPolyfillOptions;
    }
}
export * from './popover.js';
