import type { EffectConfig } from '../types';
/**
 * @description 从 spec 数据中统计类目分组数量，用于计算分组高亮总时长。
 * @param spec 当前 VChart spec。
 * @returns 类目分组数量。
 */
export declare const getGroupCountFromSpec: (spec: any) => {
    groupCount: number;
};
/**
 * @description 生成柱图分组高亮循环动画配置。
 * @param startTime 动画开始时间，单位毫秒。
 * @param config 高亮动画配置，包含颜色和缓动。
 * @param duration 分组高亮总时长，单位秒。
 * @param interval 每轮循环间隔，单位秒。
 * @param atmosphereDuration 氛围动画占用时长，单位秒。
 * @param isHorizontal 是否为横向柱图。
 * @param spec 当前 VChart spec。
 * @returns 柱图分组高亮循环动画配置。
 */
export declare const groupHighLightBar: (startTime: number, config: EffectConfig<any>, duration: number, interval: number, atmosphereDuration: number, isHorizontal: boolean, spec: any) => {
    loop: boolean;
    startTime: number;
    controlOptions: {
        immediatelyApply: boolean;
    };
    timeSlices: ({
        effects: {
            channel: {
                fill: {
                    to: string | {
                        gradient: string;
                        x0: number;
                        x1: number;
                        y1: number;
                        y0: number;
                        stops: {
                            offset: number;
                            color: string;
                        }[];
                    };
                    from?: undefined;
                };
                stroke: {
                    to: string | {
                        gradient: string;
                        x0: number;
                        x1: number;
                        y1: number;
                        y0: number;
                        stops: {
                            offset: number;
                            color: string;
                        }[];
                    };
                    from?: undefined;
                };
            };
            easing: string | undefined;
        };
        delay: (datum: any, _element: any, _ctx: any, context: any) => number;
        duration: (_datum: any, _element: any, _ctx: any, context: any) => number;
        delayAfter?: undefined;
    } | {
        effects: {
            channel: {
                fill: {
                    from: string | {
                        gradient: string;
                        x0: number;
                        x1: number;
                        y1: number;
                        y0: number;
                        stops: {
                            offset: number;
                            color: string;
                        }[];
                    };
                    to: (...p: any[]) => any;
                };
                stroke: {
                    from: string | {
                        gradient: string;
                        x0: number;
                        x1: number;
                        y1: number;
                        y0: number;
                        stops: {
                            offset: number;
                            color: string;
                        }[];
                    };
                    to: (...p: any[]) => any;
                };
            };
            easing: string | undefined;
        };
        delayAfter: (datum: any, _element: any, _ctx: any, context: any) => number;
        duration: (_datum: any, _element: any, _ctx: any, context: any) => number;
        delay?: undefined;
    })[];
}[];
