import type { ConfigurableWindow } from '../_configurable'; import { type Readable, type Writable } from 'svelte/store'; export interface UseIntersectionObserverOptions extends ConfigurableWindow { /** * Start the IntersectionObserver immediately on creation * * @default true */ immediate?: boolean; /** * The Element or Document whose bounds are used as the bounding box when testing for intersection. */ root?: Element | (() => Element); /** * A string which specifies a set of offsets to add to the root's bounding_box when calculating intersections. */ rootMargin?: string; /** * Either a single number or an array of numbers between 0.0 and 1. */ threshold?: number | number[]; } export interface UseIntersectionObserverReturn { isSupported: Readable; isActive: Writable; start: () => void; stop: () => void; } /** * Detects that a target element's visibility. * * @see https://vueuse.org/useIntersectionObserver * @param target * @param callback * @param options */ export declare function useIntersectionObserver2(target: Element | (() => Element), callback: IntersectionObserverCallback, options?: UseIntersectionObserverOptions): UseIntersectionObserverReturn;