import EventEmitter from '@antv/event-emitter';
import { Scene, IPlotLayer } from '../../types';
export interface LayerGroupOption {
    name?: string;
}
export declare class LayerGroup extends EventEmitter {
    /**
     * 图层组名称
     */
    name: string;
    /**
     * 子图层
     */
    layers: IPlotLayer[];
    /**
     * 地图容器
     */
    scene: Scene | undefined;
    constructor(layers?: IPlotLayer[], option?: LayerGroupOption);
    /**
     * 图层组添加到地图上
     */
    addTo(scene: Scene): void;
    /**
     * 图层组是否有该图层
     */
    hasLayer(layer: IPlotLayer): boolean;
    /**
     * 增加图层
     */
    addLayer(layer: IPlotLayer): void;
    /**
     * 移除 layer 图层
     */
    removeLayer(layer: IPlotLayer): boolean;
    /**
     * 获取所有的地图图层
     */
    getLayers(): IPlotLayer[];
    /**
     * 获取所有的带交互图层
     */
    getInteractionLayers(): IPlotLayer[];
    /**
     * 根据图层 ID 获取图层对象
     */
    getLayer(id: string): IPlotLayer | undefined;
    /**
     * 根据图层 name 获取图层对象
     */
    getLayerByName(name: string): IPlotLayer | undefined;
    /**
     * 移除所有的图层对象
     */
    removeAllLayer(): void;
    /**
     * 是否图层组为空
     */
    isEmpty(): boolean;
}
