import { StringMap } from '../core/public-api';
import { ChartData, ChartDataItem } from '../view-chart/public-api';
import { ExpressionItem, Indicator, MetricApiParams, MetricQueryItem, MetricResult } from './types';
export declare const CHART_LIMIT_MAX_UNIT_VALUE = 800;
export declare function dependOnIndicatorSeries(res: MetricResult[], indicator: Indicator[]): ChartData[];
export declare function dependOnDataSeries(res: MetricResult[], indicators: Indicator[]): ChartData[];
export declare function getMetricName(metricKey: string, metric: StringMap): string;
export declare function fillNullChartData({ start, end, step }: MetricApiParams, res?: Array<ChartDataItem<{
    x: number;
    y: number;
}>>, stepLine?: boolean): any[];
export declare function unitDealWith(data: MetricResult[]): boolean;
export declare function checkInterval(time: MetricApiParams, cacheTime: MetricApiParams): boolean;
export declare const ChartUnitType: {
    readonly CPU: "cpu";
    readonly MEMORY: "memory";
    readonly TIME: "time";
    readonly MEASURE: "measure";
    readonly Rate: "rate";
};
export type ChartUnitType = (typeof ChartUnitType)[keyof typeof ChartUnitType];
export declare const CHART_UNIT_MAP: {
    cpu: {
        medium: {
            value: number;
            unit: string;
        };
        big: {
            value: number;
            unit: string;
        };
    };
    memory: {
        medium: {
            value: number;
            unit: string;
        };
        big: {
            value: number;
            unit: string;
        };
    };
    time: {
        medium: {
            value: number;
            unit: string;
        };
        big: {
            value: number;
            unit: string;
        };
    };
    measure: {
        medium: {
            value: number;
            unit: string;
        };
        big: {
            value: number;
            unit: string;
        };
    };
    rate: {
        medium: {
            value: number;
            unit: string;
        };
        big: {
            value: number;
            unit: string;
        };
    };
};
export declare function generateMetricQueryParams({ id, value, }: ExpressionItem): MetricQueryItem;
export declare function generateMetricQuery(expression: ExpressionItem[]): MetricQueryItem[];
export declare function handleChartUnit(metrics: MetricResult[], type: ChartUnitType): {
    unit: string;
    handleCb: (value: number) => number;
    dealWith: true;
} | {
    dealWith: boolean;
    value: number;
    unit: string;
    handleCb?: undefined;
};
export declare function hasNoData(res: ChartData[]): boolean;
