type NodeObservationConfig = { element: HTMLElement; onFirstVisible: () => void; }; export type NodeVisibilityManager = { /** * Kills the IntersectionObserver and all callbacks * @returns */ disconnect: () => void; /** * Establishes IntersectionObserver for the editor to monitor all node viewport visibility * @param editorDivElement * @returns */ initialiseNodeObserver: () => void; /** * observes specific node element with callbacks for triggering when the node is visible or hidden */ observe: (observeConfig: NodeObservationConfig) => () => void; }; type NodeVisibilityManagerFn = (editorElement: HTMLElement) => NodeVisibilityManager; /** * Creates a node visibility manager * @param editorElement * @returns */ export declare const nodeVisibilityManager: NodeVisibilityManagerFn; export {};