import { ReactiveController, ReactiveControllerHost } from 'lit'; import { InternalsAttachedInterface } from '../mixins/internals-attached.js'; import { MiddlewareData, Placement, Strategy } from '@floating-ui/dom'; export declare function transformOriginFromArrow(placement: Placement, arrowData?: MiddlewareData['arrow']): string; export interface PopoverControllerConfig { popover: () => HTMLElement | null; trigger: () => HTMLElement | null; positioning: { placement: () => Placement; strategy: () => Strategy; offset: () => number; windowPadding: () => number; }; durations: { open: () => number; close: () => number; }; onClickAway?: () => void; } export declare class PopoverController implements ReactiveController { #private; host: ReactiveControllerHost & InternalsAttachedInterface; private readonly config; private _open; get open(): boolean; private cleanupAutoUpdate?; constructor(host: ReactiveControllerHost & InternalsAttachedInterface, config: PopoverControllerConfig); hostConnected(): void; hostDisconnected(): void; animateOpen(): Promise; animateClose(): Promise; private cleanup; private _dummyArrow; reposition(): Promise; }