import { ReactChildren, Tracker } from "../types";
export declare type NativeScrollContext = {
    addTracking: (el: HTMLElement, fn: any, options: any) => Tracker;
    updateTracking: (el: HTMLElement, fn: any, options: any) => void;
    removeTracking: (el: HTMLElement) => void;
    sensorType: 'native';
};
export interface ScrollSenseProps {
    children?: ReactChildren;
    config?: {
        rootMargin?: string | null;
        delay?: string | number;
    };
}
export interface ScrollSenseState {
    refreshToggle: boolean;
}
export interface ScrollEntry {
    fn: (ScrollSensorEvent: any) => void;
    el: HTMLElement;
    isShowing: boolean;
    options: ParsedNativeConfig;
    overflowParent: {
        el: HTMLElement;
        xOverflow: boolean;
        yOverflow: boolean;
    };
    isActive: boolean;
    isScrollContainer: boolean;
    isTriggered: boolean;
    continuous: boolean;
}
export declare type ParsedNativeConfig = {
    delay?: number;
    rootMargin: ParsedRootMargin | null;
};
export declare type ParsedRootMargin = {
    type: string[];
    margin: [number, number, number, number];
};
