import { DateRange, IDataPoint, IMetric } from "../../core/Metric/type";
export declare function filterPointsByDateRange(points: IDataPoint[], dateRange: DateRange): IDataPoint[];
export declare const parseRange: (range: string) => {
    span: number;
    unit: "h" | "d";
};
export declare const xaxisCal: (lastTime: number, dateRange: DateRange) => number[];
export declare const tickFormatter: (tick: number, dateRange: DateRange) => string;
export declare function getXAxisDomain(dateRange: DateRange, xaxisLastTime?: number): [number, number];
export declare const getMs: (dateRange: DateRange) => number;
export declare const getStep: (dateRange: DateRange) => number;
export declare const filterDataOverlapping: <Data extends {
    t: number;
    v?: number | undefined;
} = {
    t: number;
    v?: number | undefined;
}>(data: Data[], startTimestamp: number, length: number, step: number, tolerance: number) => (Data | {
    t: number;
    v: number;
})[];
export type MetricRefType = {
    exportCSV: (filename: string) => void;
    getCSVFileData: (filename?: string) => {
        data: string;
        filename: string;
        filetype: string;
    };
};
export declare const convertDataStruct: (streams: IDataPoint[][]) => IDataPoint[];
export declare const filterOverlappingMetric: (metric: IMetric, dateRange: DateRange) => {
    sample_streams: {
        points: (IDataPoint | {
            t: number;
            v: number;
        })[];
        legend: import("../../core/Metric/type").ILegend;
        step: number;
        tolerance: number;
    }[];
    unit: string;
    dropped: boolean;
};
