import { RefObject } from 'react';

export interface UseAutoScrollOptions {
    /**
     * Threshold in pixels from bottom to consider "near bottom"
     * @default 100
     */
    threshold?: number;
    /**
     * Whether to auto-scroll on mount
     * @default true
     */
    scrollOnMount?: boolean;
    /**
     * Whether deep DOM mutations should trigger auto-scroll.
     * Keep this disabled for static/history renders to avoid extra layout work.
     * @default true
     */
    observeMutations?: boolean;
    /**
     * Dependencies that trigger auto-scroll when changed
     */
    dependencies?: unknown[];
}
export interface UseAutoScrollReturn {
    /**
     * Ref to attach to the scrollable container
     */
    containerRef: RefObject<HTMLDivElement>;
    /**
     * Ref to attach to the bottom sentinel element
     */
    sentinelRef: RefObject<HTMLDivElement>;
    /**
     * Whether the user is currently near the bottom
     */
    isNearBottom: boolean;
    /**
     * Manually scroll to bottom
     */
    scrollToBottom: () => void;
    /**
     * Check if user is near bottom
     */
    checkIsNearBottom: () => boolean;
}
export declare const useAutoScroll: (options?: UseAutoScrollOptions, dependencies?: unknown[]) => UseAutoScrollReturn;
//# sourceMappingURL=useAutoScroll.d.ts.map