import { IChartDataset, IChartField } from '@qn-pandora/app-sdk';
/**
 * 根据field的类型获取对应的buckets 和 metrics
 * @param fields 所有的fields
 */
export declare function getBucketMetricNameByFields(fields: IChartField[]): {
    buckets: string[];
    metrics: string[];
};
/**
 * 根据field的名字, 获取对应列的数据
 * @param field field名称
 * @param dataset 数据集
 * @param isCompare 是否为对比数据
 */
export declare function getDataOfField(field: string, dataset: IChartDataset, isCompare?: boolean): import("@qn-pandora/app-sdk").TChartBasicFieldDataType[];
/**
 * 根据field的类型获取对应的buckets
 * @param fields 所有的fields
 */
export declare function getBuckets(fields: IChartField[]): IChartField[];
/**
 * 根据field的类型获取对应的metrics
 * @param fields 所有的fields
 */
export declare function getMetrics(fields: IChartField[]): IChartField[];
/**
 * 获取对应field在所有fields中的索引
 * @param field 当前field
 * @param fields 所有fields
 */
export declare function getFieldIndex(field: string, fields: IChartField[]): number;
/**
 * 获取对应field对象
 * @param field 当前field
 * @param fields 所有fields
 */
export declare function getField(field: string, fields: IChartField[]): IChartField | undefined;
/**
 * 根据field的类型获取 时间类型的field
 * @param fields
 * @returns
 */
export declare function getTimeFields(fields: IChartField[]): IChartField[];
/**
 * 更新metrics、buckets
 * 在metrics 或 buckets 中把对应的 field 删除
 * @param metrics 当前的指标数组
 * @param buckets 当前的分组数组
 * @param field 需要去除的字段 或 字段数值
 */
export declare function updateMetricBucket(metrics: string[], buckets: string[], field: string | string[]): {
    metrics: string[];
    buckets: string[];
};
/**
 * 更新metrics、buckets
 * 在metrics 或 buckets 中把对应的 field 删除
 * @param metrics 当前的指标数组
 * @param buckets 当前的分组数组
 * @param field 需要去除的字段
 */
export declare function updateMetricBucketBySingleField(metrics: string[], buckets: string[], field: string): {
    metrics: string[];
    buckets: string[];
} | undefined;
/**
 * 获取第一个有效的字段
 */
export declare function getFirstUsefulField(buckets: string[], metrics: string[], fieldNames?: string[]): string;
/**
 * 获取第一个有效的分组
 */
export declare function getFirstUsefulBucket(buckets: string[]): string;
/**
 * 获取第一个有效的指标
 */
export declare function getFirstUsefulMetric(metrics: string[]): string;
