import EventEmitter from '@antv/event-emitter';
import { Scene, ILayerGroup, ICoreLayer } from '../types';
export declare type LayerGroupOptions = {
    name?: string;
};
export declare class LayerGroup extends EventEmitter implements ILayerGroup {
    /**
     * 图层组名称
     */
    name: string;
    /**
     * 子图层
     */
    private layerMap;
    /**
     * 地图容器
     */
    private scene;
    constructor(layers?: ICoreLayer[], option?: LayerGroupOptions);
    /**
     * 图层组添加到地图上
     */
    addTo(scene: Scene): void;
    /**
     * 图层组从地图上移除
     */
    remove(): void;
    /**
     * 图层组是否有该图层
     */
    hasLayer(layer: string | ICoreLayer): boolean;
    /**
     * 添加图层
     */
    addLayer(layer: ICoreLayer): void;
    /**
     * 添加多个图层
     */
    addLayers(layers: ICoreLayer[]): void;
    /**
     * 根据图层 id 或图层实例移除 layer 图层
     */
    removeLayer(layer: string | ICoreLayer): boolean;
    /**
     * 获取图层组所有的图层
     */
    getLayers(): ICoreLayer[];
    /**
     * 根据图层 ID 获取图层
     */
    getLayer(id: string): ICoreLayer | undefined;
    /**
     * 根据图层 name 获取图层
     */
    getLayerByName(name: string): ICoreLayer | undefined;
    /**
     * 移除所有的图层对象
     */
    removeAllLayer(): void;
    /**
     * 是否图层组为空
     */
    isEmpty(): boolean;
    /**
     * 设置图层组所有图层 zIndex
     */
    setZIndex(zIndex: number): void;
    /**
     * 根据图层获取图层 ID
     */
    getLayerId(layer: ICoreLayer): string;
    /**
     * 摧毁图层组
     */
    destroy(): void;
}
