import * as Measure from '../Measure';
import { SupportedAggregates } from '../Aggregate';
import { DataType } from '../Field/types';
import { PivotConfig } from '../PivotConfig/types';
import { QueryAttributes as QueryAttributesType } from '../QueryAttributes/types';
import { Result } from './types';
export declare type RawResult = {
    content: any[][];
    fields: {
        id: string;
        dataType: DataType;
        publicName: string;
    }[];
    hasMoreResults: boolean | null;
};
export declare const toKeyValueResults: (result: Result) => {
    [key: string]: any;
}[];
export declare type TimeSeriesResultSet = {
    x: string;
    [key: string]: number | string | string[];
    xValues: string[];
};
export declare const resultSet: (result: Result | null | undefined, measure: Array<QueryAttributesType.Measure>, pivotConfig: PivotConfig, as100PercentResultSet?: boolean, nullReplacement?: string | undefined) => Array<TimeSeriesResultSet>;
declare type Series = Array<string>;
export declare const series: (pivotConfig: PivotConfig, measure: QueryAttributesType.Measure[], result: Result | null | undefined) => Series;
export declare const scatterXKeys: (dimension: QueryAttributesType.Dimension[], xMeasure: QueryAttributesType.Measure, result: Result) => Array<string>;
export declare const getTimeSeriesLabels: (result: Result, timeDimension: QueryAttributesType.TimeDimension) => string[];
export declare const bucketFill: (result: Result, timeDimension: QueryAttributesType.TimeDimension) => {
    fields: Result.Field[];
    content: any[];
};
export declare const findFieldIndexById: (result: Result, fieldId: string) => number;
export declare const findFieldById: (result: Result, fieldId: string) => Result.Field;
export declare const getLabel: (result: Result | null, fieldId: string, supportedAggregates: SupportedAggregates) => string;
export declare const isLoading: (result: Result | null | undefined) => result is undefined;
export declare const hasFailed: (result: Result | null | undefined) => result is null;
export declare const isEmpty: (result: Result | null | undefined) => boolean;
export declare const to100PercentResultSet: (resultSet: Array<TimeSeriesResultSet>) => Array<TimeSeriesResultSet>;
export {};
