import { IntersectionObserverEntry } from "./intersection-observer-entry"; export declare type ConstructibleIntersectionObserver = new (callback: IntersectionObserverCallback, options: IntersectionObserverOptions) => IntersectionObserverClassDefinition; export declare class IntersectionObserverClassDefinition { root: Element; rootMargin: string; thresholds: number[]; constructor(callback: IntersectionObserverCallback, options: IntersectionObserverOptions); observe(target: Element): void; unobserve(target: Element): void; disconnect(): void; takeRecords(): IntersectionObserverEntry[]; } export declare type IntersectionObserverCallback = (entries: IntersectionObserverEntry[], observer: IntersectionObserverClassDefinition) => void; export interface IntersectionObserverOptions { root: Element; rootMargin: string; threshold: number | number[]; }