interface MockEntry {
    isIntersecting: boolean;
}
export interface MockIntersectionObserverOpts {
    disconnect: jest.Mock;
    getMockEntries: () => MockEntry[];
    takeRecords?: jest.Mock;
    unobserve?: jest.Mock;
}
export declare const MockIntersectionObserverFactory: (mockIntersectionObserverOpts: MockIntersectionObserverOpts) => {
    new (callback: IntersectionObserverCallback): {
        isDisconnected: boolean;
        readonly root: Element | null;
        readonly rootMargin: string;
        readonly thresholds: ReadonlyArray<number>;
        previousMockEntries: MockEntry[];
        callback: IntersectionObserverCallback;
        observe(_element: HTMLElement): void;
        callIntersectionObserverCallback: () => void;
        checkIntersection: () => void;
        disconnect: () => void;
        takeRecords: jest.Mock<any, any, any>;
        unobserve: jest.Mock<any, any, any>;
    };
};
export declare const mockSimpleIntersectionObserver: () => void;
export {};
