import { type KSLConfiguration } from "../utils/configuration"; import type { IFrameCommunicator } from "./IFrameCommunicator"; export declare class DOMSmartLinkManager { private readonly iframeCommunicator; private readonly configuration; private readonly mutationObserver; private readonly intersectionObserver; private readonly renderer; private enabled; private renderingTimeoutId; private observedElements; private visibleElements; constructor(iframeCommunicator: IFrameCommunicator, configuration: KSLConfiguration); toggle: (force?: boolean) => void; enable: () => void; disable: () => void; destroy: () => void; private augmentVisibleElements; /** * Start an interval rendering (1s) that will re-render highlights for all visible elements using `setInterval`. * It helps to adjust highlights position even in situations that are currently not supported by * the SDK (e.g. element position change w/o animations, some infinite animations and other possible unhandled cases) * for better user experience. */ private startRenderingInterval; private stopRenderingInterval; private listenToGlobalEvents; private unlistenToGlobalEvents; private observeDomMutations; private disconnectObservers; private observeElementVisibility; private unobserveElementVisibility; private onDomMutation; private onElementVisibilityChange; private onEditElement; private onAddInitialClick; private onAddActionClick; }