import { DashboardDataResponse } from '../../types/Metrics';
import { components } from '../../types/api';
/**
 * Creates the dataset for a single visualisation
 * - given the visualisation definition will extract the relevant
 * - rows from the master dataset to produce a visualisation dataset
 *
 * @param {components['schemas']['DashboardVisualisationDefinition']} visDefinition
 * @param {DashboardDataResponse[]} dashboardData
 * @return {DashboardDataResponse[]} the visualisation dataset
 */
export declare const getDatasetRows: (visDefinition: components["schemas"]["DashboardVisualisationDefinition"], dashboardData: DashboardDataResponse[]) => DashboardDataResponse[];
export declare const getLastestDataset: (dashboardData: DashboardDataResponse[]) => DashboardDataResponse[];
export declare const getEarliestDataset: (dashboardData: DashboardDataResponse[]) => DashboardDataResponse[];
export declare const groupRowsByTimestamp: (dashboardData: DashboardDataResponse[]) => DashboardDataResponse[][];
export declare const groupRowsByKey: (dashboardData: DashboardDataResponse[], key: string) => DashboardDataResponse[][];
export declare const groupRowsBy: (dashboardData: DashboardDataResponse[], groupIds: string[]) => DashboardDataResponse[][];
export declare const getGroupKey: (rawData: DashboardDataResponse[], keys?: Array<components["schemas"]["DashboardVisualisationColumnDefinition"]>) => {
    id: string;
    display?: string | null;
    aggregate?: "sum" | "average" | null;
    unit?: "NUMBER" | "PERCENTAGE" | null;
    displayValue?: boolean | null;
    axis?: string | null;
    optional?: boolean | null;
    type?: "boolean" | "date" | "double" | "HTML" | "long" | "string" | "time" | null;
} | undefined;
export declare const filterRowsByDisplayColumns: (listDefinition: components["schemas"]["DashboardVisualisationDefinition"], dashboardData: DashboardDataResponse[], includeKeys?: boolean) => DashboardDataResponse[];
declare const _default: {
    getDatasetRows: (visDefinition: components["schemas"]["DashboardVisualisationDefinition"], dashboardData: DashboardDataResponse[]) => DashboardDataResponse[];
    getLastestDataset: (dashboardData: DashboardDataResponse[]) => DashboardDataResponse[];
    getEarliestDataset: (dashboardData: DashboardDataResponse[]) => DashboardDataResponse[];
    filterRowsByDisplayColumns: (listDefinition: components["schemas"]["DashboardVisualisationDefinition"], dashboardData: DashboardDataResponse[], includeKeys?: boolean) => DashboardDataResponse[];
    groupRowsByTimestamp: (dashboardData: DashboardDataResponse[]) => DashboardDataResponse[][];
    groupRowsByKey: (dashboardData: DashboardDataResponse[], key: string) => DashboardDataResponse[][];
    groupRowsBy: (dashboardData: DashboardDataResponse[], groupIds: string[]) => DashboardDataResponse[][];
    getGroupKey: (rawData: DashboardDataResponse[], keys?: Array<components["schemas"]["DashboardVisualisationColumnDefinition"]>) => {
        id: string;
        display?: string | null;
        aggregate?: "sum" | "average" | null;
        unit?: "NUMBER" | "PERCENTAGE" | null;
        displayValue?: boolean | null;
        axis?: string | null;
        optional?: boolean | null;
        type?: "boolean" | "date" | "double" | "HTML" | "long" | "string" | "time" | null;
    } | undefined;
};
export default _default;
