import { Graphic, GraphicOptionsParam, InstancedGraphic, InstancedGraphicConfig } from "../elements";
import { Group, Vector3 } from "three";
import { Layer } from "./layer";
import { Context } from "../context/context";
import { GraphicOptions } from "../types";
import { AibeeGraphicLayer } from "src/loader/AibeeLoader/type";
export declare class MergedGraphicLayer extends Layer {
    graphicMap: Map<string, Graphic>;
    mergedGraphicGroup: Group<import("three").Object3DEventMap>;
    mergedLineGroup: Group<import("three").Object3DEventMap>;
    graphicDataMap: Map<string, GraphicOptions>;
    graphicOriginOptionMap: Map<string, Pick<GraphicOptions, "strokeOpacity" | "fillOpacity">>;
    instancedGraphic: InstancedGraphic | null;
    instancedGraphicConfig: InstancedGraphicConfig | null;
    constructor(context: Context);
    getCenter(): Vector3;
    addInstancedGraphic(instancedGraphic: InstancedGraphicConfig): void;
    refeshInstancedGraphic(): void;
    addGraphics(graphicOptions: GraphicOptions[], mergedElement?: AibeeGraphicLayer['mergedElements']): void;
    createGraphic(graphicOptions: GraphicOptions[]): Promise<void>;
    createLine(graphicOptions: GraphicOptions[]): Promise<void>;
    refreshMergeGraphic(): void;
    refreshLine(): void;
    removeGraphicById(id: string): void;
    getGraphicDataByNodeId(id: string): Graphic | null;
    setGraphicOptions(id: string, options: (GraphicOptionsParam | ((options: GraphicOptions) => GraphicOptions))): void;
    getGraphicPosition(nodeId: string): number[] | null;
    setOpacity(opacity: number, force?: boolean): void;
    dispose(): void;
}
