import * as echarts from 'echarts';
import { Param } from './param';
export declare const CHART_TYPES: string[];
export type ChartType = typeof CHART_TYPES[number];
export type TimeMode = 'timestamp' | 'date' | 'custom' | 'duration';
export type TimeUnit = 'us' | 'ms' | 'ns';
export type ECharts = ReturnType<typeof echarts.init>;
export declare class MapParams {
    tiles?: any[];
    heatmap?: boolean;
    heatRadius?: number;
    heatBlur?: number;
    heatOpacity?: number;
    mapType?: string;
    startLat?: number;
    startLong?: number;
    startZoom?: number;
    animate?: boolean;
    marker?: string;
    render?: string;
    maxNativeZoom?: number;
    maxZoom?: number;
    track?: boolean;
    step?: number;
    delay?: number;
    tooltip?: any;
    iconSize?: number | number[];
    cluster?: boolean;
    maxClusterRadius?: number;
    clusterCustomIcon?: boolean;
}
export declare class Dataset {
    name: string;
    values: any[];
    headers: string[];
    isGTS: boolean;
    params: any;
    c?: string;
    l?: any;
    a?: any;
}
export declare class Label {
    key: string;
    value: string;
}
export declare class Tile {
    type: string;
    w: number;
    h: number;
    x: number;
    y: number;
    z?: number;
    data?: string | DataModel;
    title?: string;
    macro?: string;
    endpoint?: string;
    unit?: string;
    options: Param;
    elem?: HTMLDiscoveryTileElement | HTMLDiscoveryTileResultElement;
    png?: string;
    uid?: string;
    bgColor?: string;
    vars?: any[] | string[];
    id?: string;
}
export declare class GTS {
    c: string;
    l: Label[];
    a: Label[];
    v: any[][];
    id?: number;
}
export declare class DiscoveryEvent {
    tags: string[];
    type: 'popup' | 'xpath' | 'style' | 'data' | 'variable' | 'audio' | 'zoom' | 'focus' | 'margin' | 'bounds' | 'title' | 'description' | 'selected' | 'link' | 'poi';
    value: any;
    selector?: string;
    source: string;
    eventId?: string;
}
export declare class DataModel {
    data: any;
    params?: Param[];
    globalParams?: Param;
    events?: DiscoveryEvent[];
    bounds?: {
        xmin?: number;
        xmax?: number;
        ymin?: number;
        ymax?: number;
    };
    localvars?: {
        [key: string]: any;
    };
}
export declare class Dashboard {
    title: string;
    type: 'dashboard' | 'scada' | 'flex';
    description: string;
    tiles: Tile[] | string;
    vars: {
        [key: string]: any;
    };
    options?: Param;
    cols: number;
    cellHeight: number;
    bgColor: string;
    fontColor: string;
}
export declare class ChartBounds {
    tsmin: number;
    tsmax: number;
    msmin: string;
    msmax: string;
    marginLeft: number;
}
