import { Context } from "../context/context";
import { Object3D, Mesh, Matrix3 } from "three";
import { Heatmap, HeatmapData, DataPoint } from '@mars3d/heatmap.js';
type V = 'value';
type X = 'x';
type Y = 'y';
export type HeatmapDataParam = HeatmapData<DataPoint<V, X, Y>> & {
    maxValue?: number;
    minValue?: number;
};
export declare class HeatmapElement extends Object3D {
    context: Context;
    heatmap?: Heatmap<V, X, Y>;
    div: HTMLDivElement;
    plane?: Mesh;
    box: {
        width: number;
        height: number;
        leftTop: {
            x: number;
            y: number;
        };
        center: number[];
        scale: number;
    };
    scaleRatio: number;
    constructor(context: Context);
    clearHeatmap(): void;
    loadData(data: HeatmapDataParam): void;
    initPlane(width: number, height: number): void;
    getTransMatrix({ x, y }: {
        x: number;
        y: number;
    }): Matrix3;
    /**
     * 所有点的坐标减去左上角从00点开始画canvas，并应用缩放
     * @param data 热力图数据
     * @param leftTop 左上角坐标
     * @param scale 缩放比例
     * @returns 转换后的数据
     */
    transformData(data: HeatmapDataParam, leftTop: {
        x: number;
        y: number;
    }, scale: number): HeatmapDataParam;
    getBox(): {
        width: number;
        height: number;
        leftTop: {
            x: number;
            y: number;
        };
        center: import("@turf/turf").Position;
        scale: number;
    };
    dispose(): void;
}
export {};
