import { type ReadableSignal } from '@amadeus-it-group/tansu'; import type { PropsConfig } from '../types'; /** * Interface representing the properties for the Intersection service. */ export interface IntersectionProps { /** * elements to observe */ elements: HTMLElement[]; /** * IntersectionObserverInit used in the {@link IntersectionObserver} * * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/IntersectionObserver#options | MDN documentation} */ options: Partial | undefined; } /** * Create an intersection service. * * The returned service includes the patch method to set the elements to observe / intersection options and the states to track the visible elements. * * @param config - the props config for the intersection service * @returns the intersection service */ export declare const createIntersection: (config?: PropsConfig) => { elements$: ReadableSignal; visibleElements$: ReadableSignal>; patch: (storesValues: Partial) => void; };