import { StringMap } from '../core/public-api';
export interface MetricApiParams {
    start?: number;
    end?: number;
    step?: number;
    cluster?: string;
    point?: number;
}
export interface Indicator {
    id: string;
    color?: string;
    indicator: string;
    name?: string;
    legend?: string;
    metricSourceKey?: keyof StringMap;
    variables?: StringMap;
    aggregator?: string;
    level?: string;
    range?: boolean;
    labels?: MetricLabel[];
    group_by?: string;
}
export interface MetricLabel {
    type?: string;
    name: string;
    value: string;
}
export interface MetricResult {
    id: string;
    resultType: string;
    result?: Metric[];
}
export interface Metric {
    metric?: StringMap;
    values?: Array<[number, string]>;
    value?: [number, string];
}
export interface PickerTimeRanges {
    name: string;
    start?: () => string;
    end?: () => string;
    startTime?: () => number;
    endTime?: () => number;
    step?: number;
    zoomStep?: number;
}
export interface ExpressionItem {
    id?: string;
    value?: string;
    indicator?: string;
    variables?: StringMap;
    name?: string;
    color?: string;
}
export interface MetricQueryItem {
    aggregator?: string;
    indicator?: string;
    variables?: StringMap;
    level?: string;
    range?: number;
    labels?: MetricLabels[];
    group_by?: string;
    id?: string;
}
export interface MetricLabels {
    type?: string;
    name: string;
    value: string;
}
