import { DeepMaybeObservable, Supportable, Pausable } from '@usels/core'; import { MaybeEventTarget } from '../../types.mjs'; interface UseIntersectionObserverOptions { /** Whether to start observing immediately on mount. Default: true */ immediate?: boolean; /** The element or document used as the viewport. Default: browser viewport */ root?: MaybeEventTarget; /** Margin around the root. Accepts CSS-style values. Default: "0px" */ rootMargin?: string; /** Threshold(s) at which to trigger the callback. Default: 0 */ threshold?: number | number[]; } interface UseIntersectionObserverReturn extends Supportable, Pausable { stop: () => void; } declare function createIntersectionObserver(target: MaybeEventTarget | MaybeEventTarget[], callback: IntersectionObserverCallback, options?: DeepMaybeObservable): UseIntersectionObserverReturn; export { type UseIntersectionObserverOptions, type UseIntersectionObserverReturn, createIntersectionObserver };