import * as RealMap from 'realmap';
import { MarkerSeries, HeatmapSeriesOptions, HeatmapMode, DataPoint, IChart, MarkerSeriesPoint, PointViewPosition, ISeries, MapCoord, HeatmapCellAggregation, HeatmapGridModeOptions, HeatmapPointModeOptions } from 'realmap';

type HeatmapCell = {
    lon: number;
    lat: number;
    value?: number;
    points: DataPoint[];
};
/**
 */
declare class HeatmapSeriesPoint extends MarkerSeriesPoint {
    position: PointViewPosition;
    cell: HeatmapCell;
    protected _readObject(series: ISeries<HeatmapSeriesPoint>, v: any): void;
}
/** @private */
declare class HeatmapGridMode {
    origin: MapCoord;
    cellWidth: number;
    cellHeight: number;
    blur: number;
    aggregation: HeatmapCellAggregation;
    _cells: HeatmapCell[];
    _apply(op: HeatmapGridModeOptions): void;
    buildCells(points: DataPoint[]): HeatmapCell[];
}
/** @private */
declare class HeatmapPointMode {
    _apply(op: HeatmapPointModeOptions): void;
}
/**
 * Heatmap 시리즈 모델.<br/>
 * {@link https://realmap.co.kr/docs/api/options/SeriesOptions#type type}은 {@link https://realmap.co.kr/config/config/series/heatmap heatmap}이고,
 * {@link options 설정} 모델은 {@link https://realmap.co.kr/docs/api/options/HeatmapSeriesOptions HeatmapSeriesOptions}이다.
 *
 * @modules heatmap
 */
declare class HeatmapSeries extends MarkerSeries<HeatmapSeriesOptions> {
    static type: string;
    static defaults: HeatmapSeriesOptions;
    _mode: HeatmapMode;
    _grid: HeatmapGridMode;
    _point: HeatmapPointMode;
    _orgPoints: DataPoint[];
    private _minValue;
    private _maxValue;
    private _colorObj;
    private _colorRanger;
    protected _doApply(op: HeatmapSeriesOptions): void;
    protected _createPoint(source: any): HeatmapSeriesPoint;
    setCalcedColor(cs: CSSStyleDeclaration, prop: string): void;
    getColorScale(): string | number;
    getValueRange(): {
        min: number;
        max: number;
    };
    getRangedColor(p: HeatmapSeriesPoint): string;
    initPoints(source: any[]): DataPoint[];
    protected _doPrepareRender(chart: IChart, op: HeatmapSeriesOptions): void;
}

declare function registerSeries(chart: typeof RealMap): void;

export { HeatmapSeries, registerSeries as default };
