import type { Payload } from 'echarts/types/src/util/types';
import type GlobalModel from 'echarts/types/src/model/Global';
import type ExtensionAPI from 'echarts/types/src/core/ExtensionAPI';
export type ActionPayload = Payload & {
    seriesIndex?: number | number[];
    seriesName?: string | string[];
    dataIndex?: number | number[];
    dataName?: string | string[];
    itemsInfo?: {
        seriesIndex: number;
        dataIndex: number;
    }[];
};
export type ActionPayloadApplication = ActionPayload & {
    reverse?: boolean;
};
/**
 * @param el 目标元素
 * @param stateOperation 状态操作
 * @param stateParams 状态参数
 * @param avoidStates 要避免的状态合集
 * @param statePreprocess 状态预处理函数
 * @returns
 */
export declare function toggleStateProxy(el: any, stateOperation: 'add' | 'remove' | 'reset' | 'clear', stateParams?: string | string[], avoidStates?: string, statePreprocess?: (element: any) => void): void;
export declare function getItemsInfo(payload: ActionPayloadApplication, ecModel: GlobalModel): {
    seriesIndex: number;
    dataIndex: number;
}[];
/**
 * 根据payload中的参数，更新选中元素的状态
 * @param payload acation参数
 * @param ecModel 全局Model
 * @param api ExtensionAPI
 * @param stateOperation 对状态的操作类型
 * @param stateParams 状态操作的参数
 * @param reverse 是否开启搜索范围反选
 */
export declare function stateHandle(payload: ActionPayloadApplication, ecModel: GlobalModel, api: ExtensionAPI, stateOperation: 'add' | 'remove' | 'reset' | 'clear', stateParams?: string | string[], avoidStates?: string): void;
