export type InfiniteLoadStateInput = {
    enabled: boolean;
    hasNext: boolean;
    isLoading: boolean;
};
export type ShouldTriggerInfiniteLoadInput = InfiniteLoadStateInput & {
    autoLoad: boolean;
    isCoolingDown: boolean;
};
export type InfiniteRootMarginAxis = 'vertical' | 'both';
export type ResolveInfiniteRootMarginInput = {
    thresholdPx?: number;
    rootMargin?: string;
    axis?: InfiniteRootMarginAxis;
};
export type InfiniteCooldown = {
    isCoolingDown: () => boolean;
    run: (callback: () => void) => void;
    clear: () => void;
};
export declare const shouldObserveInfiniteTrigger: ({ enabled, hasNext, isLoading, }: InfiniteLoadStateInput) => boolean;
export declare const shouldTriggerInfiniteLoad: ({ enabled, hasNext, isLoading, autoLoad, isCoolingDown, }: ShouldTriggerInfiniteLoadInput) => boolean;
export declare const resolveInfiniteRootMargin: ({ thresholdPx, rootMargin, axis, }: ResolveInfiniteRootMarginInput) => string;
export declare const createInfiniteCooldown: ({ cooldownMs, }: {
    cooldownMs: number;
}) => InfiniteCooldown;
//# sourceMappingURL=infiniteLoad.d.ts.map