import { DataModel } from '../model/types';
export declare class GTSLib {
    private static LOG;
    static getMinMax(values: number[]): {
        minVal: number;
        maxVal: number;
    };
    static getBounds(values: number[][]): {
        minVal: number;
        maxVal: number;
        minTS: number;
        maxTS: number;
        rawVals: number[];
    };
    static cleanArray(actual: any[]): any[];
    static isArray(value: any): boolean;
    static formatElapsedTime(elapsed: number): string;
    static isValidResponse(data: string): boolean;
    static isEmbeddedImage(item: string): boolean;
    static isEmbeddedImageObject(item: {
        image: string;
        caption: null;
    }): boolean;
    static isPositionArray(item: {
        positions: any;
    }): boolean;
    static isPositionsArrayWithValues(item: any): boolean;
    static isPositionsArrayWithTwoValues(item: any): boolean;
    static gtsFromJSON(json: any, id: string | number): {
        gts: {
            c: any;
            l: any;
            a: any;
            v: any;
            id: string | number;
        };
    };
    static gtsFromJSONList(jsonList: any[], prefixId: string | number): {
        content: any[];
    };
    static flatDeep(arr1: any[]): any[];
    static flattenGtsIdArray(a: any, r: number): {
        res: any[];
        r: number;
    };
    static sanitizeNames(input: string): string;
    static serializeGtsMetadata(gts: any): string;
    static isGts(item: any): boolean;
    static isGtsToPlot(gts: any): any;
    static isGtsToPlotOnMap(gts: any): any;
    static isGtsToAnnotate(gts: any): any;
    static gtsSort(gts: any): void;
    static addIdToGTS(data: any): any;
    static getData(data: any): DataModel;
    static getDivider(timeUnit: string): number;
    static formatLabel: (data: string) => string;
    static toISOString(timestamp: number, divider: number, timeZone: string, timeFormat?: string): string;
    static toTimestamp(date: string, divider: number, timeZone: string, format?: string): number;
    /**
     * Will hard-shift a timestamp so that, if rendered in current timezone, it will look as it is instead
     * into the desired timezone.
     */
    static utcToZonedTime(utcTime: number, divider?: number, timeZone?: string): number;
    /**
     * Will revert what utcToZonedTime had done.
     */
    static zonedTimeToUtc(zonedTime: number, divider: number, timeZone?: string): number;
    static toDuration(time: number, divider: number): string;
    static getName(name: string): string;
    static setName(id: any, s: string): string;
}
