/**
 * 快速滚动管理器
 * 抽取 BaseTable 中的快速滚动相关逻辑
 */
export interface FastScrollConfig {
    /** 预渲染缓冲区大小，用于快速滚动判断 */
    overscanSize?: number;
    /** 快速滚动速度阈值 (像素/毫秒) */
    velocityThreshold?: number;
    /** 快速滚动距离倍数阈值 */
    distanceMultiplier?: number;
    /** 快速滚动结束等待时间 (毫秒) - 高速滚动 */
    fastScrollEndDelayHigh?: number;
    /** 快速滚动结束等待时间 (毫秒) - 普通滚动 */
    fastScrollEndDelayNormal?: number;
    /** 高速滚动速度阈值 (像素/毫秒) */
    highVelocityThreshold?: number;
}
export interface FastScrollState {
    lastScrollTime: number;
    scrollVelocity: number;
    lastOffsetY: number;
}
export interface ScrollEventData {
    offsetY: number;
    maxRenderHeight: number;
    maxRenderWidth: number;
}
export interface VerticalRenderRange {
    topIndex: number;
    bottomIndex: number;
    topBlank: number;
    bottomBlank: number;
}
export interface FastScrollCallbacks {
    onFastScrollStart: (renderData: {
        offsetY: number;
        maxRenderHeight: number;
        maxRenderWidth: number;
        verticalRenderRange: VerticalRenderRange;
    }) => void;
    onFastScrollEnd: (scrollData: ScrollEventData) => void;
    getCurrentRenderRange: (offsetY: number, maxRenderHeight: number, dataLength: number) => VerticalRenderRange;
}
export declare class FastScrollManager {
    private state;
    private isFastScrolling;
    private fastScrollEndTimer?;
    private config;
    private callbacks;
    constructor(callbacks: FastScrollCallbacks, config?: FastScrollConfig);
    /**
     * 检测是否接近底部（剩余滚动距离少于两屏）
     */
    private isNearBottom;
    /**
     * 处理滚动事件 - 检测和处理快速滚动
     */
    handleScrollEvent(sizeAndOffset: ScrollEventData, currentState: {
        offsetY: number;
        maxRenderHeight: number;
        maxRenderWidth: number;
    }, dataLength: number, totalScrollHeight: number): void;
    /**
     * 开始快速滚动
     */
    private startFastScrolling;
    /**
     * 重置快速滚动结束定时器
     */
    private resetFastScrollEndTimer;
    /**
     * 结束快速滚动
     */
    private endFastScrolling;
    /**
     * 清理资源
     */
    cleanup(): void;
    /**
     * 获取当前是否处于快速滚动状态
     */
    getIsFastScrolling(): boolean;
    /**
     * 获取当前滚动速度
     */
    getScrollVelocity(): number;
    /**
     * 清理资源
     */
    destroy(): void;
    /**
     * 获取当前配置
     */
    getConfig(): Readonly<Required<FastScrollConfig>>;
}
