import { Graphic, GraphicOptionsParam } from "../elements";
import { Raycaster, Vector3 } from "three";
import { Layer } from "./layer";
import { Context } from "../context/context";
import { GraphicOptions } from "../types";
export declare class GraphicLayer extends Layer {
    graphicMap: Map<string, Graphic>;
    constructor(context: Context);
    getCenter(): Vector3;
    createGraphic(options: GraphicOptionsParam): Graphic;
    removeGraphic(graphic: Graphic): void;
    removeGraphicById(id: string): void;
    getGraphicByNodeId(id: string): Graphic | null;
    /**
     * 获取射线相交的元素
     * @param raycaster
     */
    getGraphicByRaycaster(raycaster: Raycaster): {
        graphics: Graphic[];
        position: Vector3 | null;
    };
    setGraphicOptions(id: string, options: (GraphicOptionsParam | ((options: GraphicOptions) => GraphicOptions))): void;
    getGraphicPosition(nodeId: string): number[] | null;
    setOpacity(opacity: number, force?: boolean): void;
}
