/// <reference types="deck.gl" />
import { ExtendedLayerProps } from "../utils/layerTools";
import { Position3D } from "@deck.gl/core/utils/positions";
import { Layer } from "@deck.gl/core";
import { Model } from "@luma.gl/core";
import { DeckGLLayerContext } from "../../components/Map";
import { UpdateStateInfo } from "@deck.gl/core/lib/layer";
import { RGBColor } from "@deck.gl/core/utils/color";
declare type CellData = {
    i: number;
    j: number;
    z: number;
    cs: [Position3D, Position3D, Position3D, Position3D];
    vs: [number];
};
declare type GridData = CellData[];
export interface GridLayerProps<D> extends ExtendedLayerProps<D> {
    colorMapName: string;
    valueRange: [number, number];
    colorMapRange: [number, number];
}
export default class GridLayer extends Layer<GridData, GridLayerProps<GridData>> {
    initializeState(context: DeckGLLayerContext): void;
    shouldUpdateState({ props, oldProps, context, changeFlags, }: UpdateStateInfo<GridLayerProps<GridData>>): boolean | string | null;
    updateState({ context }: UpdateStateInfo<GridLayerProps<GridData>>): void;
    _getModels(gl: any, timeStep: number): never[] | {
        models: Model[];
    };
    draw({ context }: any): void;
    decodePickingColor(): number;
    encodePickingColor(): RGBColor;
    getPickingInfo({ info }: {
        info: any;
    }): any;
}
export {};
