import type { EasingType } from '@visactor/vtable/es/vrender';
import type { BaseTableAPI } from '@visactor/vtable';
export interface ICarouselAnimationPluginOptions {
    rowCount?: number;
    colCount?: number;
    animationDuration?: number;
    animationDelay?: number;
    animationEasing?: EasingType;
    replaceScrollAction?: boolean;
    customDistRowFunction?: (row: number, table: BaseTableAPI) => {
        distRow: number;
        animation?: boolean;
    } | undefined;
    customDistColFunction?: (col: number, table: BaseTableAPI) => {
        distCol: number;
        animation?: boolean;
    } | undefined;
}
export declare class CarouselAnimationPlugin {
    table: BaseTableAPI;
    rowCount: number;
    colCount: number;
    animationDuration: number;
    animationDelay: number;
    animationEasing: EasingType;
    replaceScrollAction: boolean;
    playing: boolean;
    row: number;
    col: number;
    willUpdateRow: boolean;
    willUpdateCol: boolean;
    customDistRowFunction?: (row: number, table: BaseTableAPI) => {
        distRow: number;
        animation?: boolean;
    } | undefined;
    customDistColFunction?: (col: number, table: BaseTableAPI) => {
        distCol: number;
        animation?: boolean;
    } | undefined;
    constructor(table: BaseTableAPI, options?: ICarouselAnimationPluginOptions);
    init(): void;
    reset(): void;
    onScrollEnd(e: Event): void;
    play(): void;
    pause(): void;
    updateRow(): void;
    updateCol(): void;
}
