import { Graphic, InstancedParkingSpace, MergeParkingSpace } from "../elements";
import { ParkingOption } from "../types";
import { Layer } from "./layer";
import { Context } from "../context";
import { AibeeParkingSpaceLayer } from "src/loader/AibeeLoader/type";
type MergedElements = AibeeParkingSpaceLayer['mergedElements'];
export declare class ParkingLayer extends Layer {
    graphicMap: Map<string, Graphic>;
    parkingNoGraphicMap: Map<string, Graphic>;
    parkingOptions: ParkingOption[];
    merged: boolean;
    parkingNoIndexMap: Map<string, number>;
    nodeIdIndexMap: Map<string, number>;
    mergedParkingSpace: InstancedParkingSpace | MergeParkingSpace | null;
    constructor(context: Context);
    createParkings(parkingOptions: ParkingOption[], merge?: boolean, mergedElement?: MergedElements): void;
    load(layer: AibeeParkingSpaceLayer, merged?: boolean): void;
    createMergedParking(parkingOptions: ParkingOption[]): Promise<void>;
    createMergedParkingByMergedElements(mergedElements: MergedElements): void;
    createIndependentParking(parkingOptions: ParkingOption[]): void;
    createParkingTexture(parkingOptions: ParkingOption[]): void;
    createMergedParkingTexture(mergedParkingTexture: AibeeParkingSpaceLayer['mergedParkingTexture']): void;
    changeParkingColor(parkingColorMap: Record<string, string>): void;
    getGraphicPosition(nodeId: string): number[] | null | undefined;
    dispose(): void;
}
export {};
