import { Context } from "../context/context";
import { Box3, Object3D, Vector3 } from "three";
import { Graphic, GraphicOptionsParam } from "./graphic";
import { Shadow } from "./shadow";
import { PoiOptionsParam } from "./poi";
import { HeatmapDataParam, HeatmapElement } from './heatmap';
import { Model, ModelOptions } from "./model";
import { Layer, GraphicLayer, PoiLayer, PoiLayer2, ParkingLayer, MergedGraphicLayer, MergedModelLayer, AddSceneType } from "../layer";
import { GraphicOptions, ParkingOption } from "../types";
import { MergeAttributeGraphic } from "./merge-attribute-graphic";
import { Poi2, PoiOptionsParam2 } from "./poi2";
export declare class Floor extends Object3D {
    context: Context;
    graphicLayer: GraphicLayer;
    poiLayer: PoiLayer;
    poiLayer2: PoiLayer2;
    parkingSpaceLayer: ParkingLayer;
    wallLayer: Layer;
    textureLayer: Layer;
    glbModelLayer: MergedModelLayer;
    laneLayer: Layer;
    mergeGraphicLayer: MergedGraphicLayer;
    textTextureLayer: Layer;
    grounds: Set<Graphic | MergeAttributeGraphic>;
    groundLayer: Layer;
    shadow: Shadow;
    heatmap?: HeatmapElement;
    groundUpper: Object3D<import("three").Object3DEventMap>;
    models: Object3D<import("three").Object3DEventMap>;
    modelMap: Map<any, any>;
    groundMaxHeight: number;
    name: string;
    key: string;
    box: Box3;
    constructor(context: Context);
    getPosition(): Vector3;
    onAddToScene(type: AddSceneType): void;
    onRemoveFromScene(): void;
    createGround(options: GraphicOptionsParam): void;
    addGrounds(grounds: (Graphic | MergeAttributeGraphic)[]): void;
    changeGroundMaxHeight(): void;
    get hasElement(): boolean;
    getCenter(): Vector3;
    addModel(options: ModelOptions): Model;
    addShadow(): void;
    addGraphic(graphicOptions: GraphicOptionsParam): Graphic;
    addPoi(poiOptions: PoiOptionsParam): import("./poi").Poi;
    addPoi2(poiOptions: PoiOptionsParam2): Poi2;
    removePoi2(poi: Poi2): void;
    removePoi2ById(id: string): void;
    addHeatmap(data: HeatmapDataParam & {
        maxValue?: number;
        minValue?: number;
    }): HeatmapElement;
    removeHeatMap(): void;
    setShadowOpacity(opacity: number): void;
    setShadowVisible(visible: boolean): void;
    setGraphicOptions(graphicId: string, options: (GraphicOptionsParam | ((options: GraphicOptions) => GraphicOptions))): void;
    getGraphicPosition(nodeId: string): [number, number];
    changeParkingColor(parkingColorMap: Record<string, string>): void;
    getParkingOptionsByParkingNo(parkingNo: string): ParkingOption | null;
    updateBox(): void;
    getGraphics(): Graphic[];
    setOpacity(opacity: number, force?: boolean): void;
    dispose(): void;
}
