import { Object3D, BufferGeometry, LineSegments, ShaderMaterial, BoxGeometry, InstancedMesh } from "three";
import { Context } from "../context/context";
import { AibeeParkingSpaceLayer } from "src/loader/AibeeLoader/type";
export declare class MergeParkingSpace extends Object3D {
    private context;
    geometry: BoxGeometry;
    material?: ShaderMaterial;
    mesh?: InstancedMesh;
    line?: LineSegments;
    lineMaterial?: ShaderMaterial;
    lineGeometry?: BufferGeometry;
    option: AibeeParkingSpaceLayer['mergedElements'];
    constructor(context: Context, option: AibeeParkingSpaceLayer['mergedElements']);
    init(): Promise<void>;
    setParkingColorByIndex(index: number, color: string): void;
    initMaterial(): void;
    initLineMaterial(): ShaderMaterial;
    initMesh(): void;
    initLineGeometry(): void;
    createBorder(): LineSegments<BufferGeometry<import("three").NormalBufferAttributes>, ShaderMaterial, import("three").Object3DEventMap>;
    dispose(): void;
}
