import { DisposableGroup } from '@blocksuite/global/disposable'; import type { ReactiveController, ReactiveElement } from 'lit'; import { type AdvancedPortalOptions } from '../portal/index.js'; import type { HoverOptions } from './types.js'; import { whenHover } from './when-hover.js'; type OptionsParams = Omit, 'setFloating' | 'dispose'> & { abortController: AbortController; }; type HoverPortalOptions = Omit; export declare class HoverController implements ReactiveController { static globalAbortController?: AbortController; private _abortController?; private readonly _hoverOptions; private _isHovering; private readonly _onHover; private _portal?; private _setReference; protected _disposables: DisposableGroup; host: ReactiveElement; /** * Callback when the portal needs to be aborted. */ onAbort: () => void; /** * Whether the host is currently hovering. * * This property is unreliable when the floating element disconnect from the DOM suddenly. */ get isHovering(): boolean; get portal(): HTMLDivElement | undefined; get setReference(): (element?: Element | undefined) => void; constructor(host: ReactiveElement, onHover: (options: OptionsParams) => HoverPortalOptions | null, hoverOptions?: Partial); abort(force?: boolean): void; hostConnected(): void; hostDisconnected(): void; } export {}; //# sourceMappingURL=controller.d.ts.map