import { AxiosResponse } from 'axios';
export interface TimeSeriesByAppConfig {
    [appName: string]: TimeSeriesDefinition[];
}
export declare type TimeSeriesConfigResponse = TimeSeriesByAppConfig;
export interface TimeSeriesDefinition {
    name: string;
    values: string[] | null;
}
export interface LastDataParams {
    applicationName: string;
    timeSeriesName: string;
    endpointId?: string;
    beforeDate?: string;
}
export interface LastDataPostParams {
    applicationName: string;
    timeSeriesNames: string[];
    endpointIDs?: string[];
    beforeDate?: string;
}
export interface DeletesTimeSeriesData {
    appName: string;
    endpointID: string;
    queryParams: {
        fromDate: string;
        toDate: string;
    };
    data: {
        timeSeriesNames?: string[];
    };
}
export interface DeletesSeriesFromApplication {
    appName: string;
    data: {
        timeSeriesNames?: string[];
    };
}
export interface HistoricalDataParams {
    applicationName: string;
    fromDate: string;
    toDate: string;
    includeTime?: 'from' | 'to' | 'both' | 'none';
    sort?: 'ASC' | 'DESC';
}
export interface HistoricalDataGetParams extends HistoricalDataParams {
    timeSeriesName: string;
    endpointId?: string;
}
export interface HistoricalDataPostParams extends HistoricalDataParams {
    timeSeriesNames: string[];
    endpointIDs?: string[];
}
export interface UpdateTimeseriesParams {
    appVersionName: string;
    data: EndpointTimeSeries;
}
export interface TimeSeriesDataPoint {
    timestamp: string;
    values: Record<string, number | string | boolean | null>;
}
export interface TimeSeries {
    [timeSeriesName: string]: TimeSeriesDataPoint[];
}
export interface EndpointTimeSeries {
    [endpointId: string]: TimeSeries;
}
export declare type TimeSeriesPayload = EndpointTimeSeries[];
export interface TimeSeriesClient {
    getTimeSeriesConfig(): Promise<AxiosResponse<TimeSeriesConfigResponse>>;
}
