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 {};