import { IIntersectionObserver, TreePropTypes } from './props';
type IntersectionObserverOptions = {
    rootMargin?: string;
    threshold?: number | number[];
    root?: Element | null;
};
type IntersectionObserverResponseValue = {
    level: number;
    node: Record<string, unknown>;
    index: number;
    entry: IntersectionObserverEntry;
};
type IntersectionObserverResponse = {
    beforeResponse?: (entry: IntersectionObserverEntry) => IntersectionObserverResponseValue;
};
declare const _default: (props: TreePropTypes) => {
    unobserveAll: () => void;
    intersectionObserver: import("vue").ComputedRef<{
        enabled: boolean | IIntersectionObserver;
        once: boolean;
        callback: any;
    }>;
    initIntersectionObserver: (target: Element | Element[] | Node | Node[], options: IntersectionObserverOptions, resp?: IntersectionObserverResponse) => void;
    initRootMutationObserver: (root: Element, callback: any) => void;
    getLastVisibleElement: (offsetY: number, root: HTMLElement) => HTMLElement[];
};
export default _default;
