import type { ReactiveController, ReactiveControllerHost } from 'lit'; /** * The controller host type. * * @public */ export type TourRegistryControllerHost = ReactiveControllerHost & HTMLElement; /** * The config options for a TourRegistryController used by anchors. * * @public */ export interface ITourRegistryAnchorConfig { getTourId: () => string; getAnchorId: () => string; } /** * The config options for a TourRegistryController used by tours. * * @public */ export interface ITourRegistryTourConfig { getTourId: () => string; } /** * A reactive controller that manages anchor registration for tour elements. * * @public */ export declare class TourRegistryController implements ReactiveController { private readonly _host; private readonly _config; private readonly _isAnchor; private _registeredTourId; private _registeredAnchorId; /** * Constructs a new instance of the `TourRegistryController` class. * * @public */ constructor(host: TourRegistryControllerHost, config: ITourRegistryAnchorConfig | ITourRegistryTourConfig); /** * @public */ hostConnected(): void; /** * @public */ hostDisconnected(): void; /** * @public */ hostUpdate(): void; /** * @public */ hostUpdated(): void; /** * Registers the anchor with current tourId and anchorId. * Call this when tourId or anchorId changes. * * @public */ register(): void; /** * Unregisters the anchor with the previously registered tourId and anchorId. * * @public */ unregister(): void; /** * Updates the registration when tourId or anchorId changes. * * @public */ updateRegistration(previousTourId: string, previousAnchorId: string): void; /** * Resolves an anchor element by its anchorId. * * @public */ resolve(anchorId: string): HTMLElement | null; /** * Clears all registered anchors. * * @public */ clear(): void; } /** * Adds a tour registry controller to the given host for anchor registration. * * @public * @param host The host element. * @param config The configuration options. * @returns The tour registry controller instance. */ export declare function addTourRegistryController(host: TourRegistryControllerHost, config: ITourRegistryAnchorConfig | ITourRegistryTourConfig): TourRegistryController; //# sourceMappingURL=TourRegistryController.d.ts.map