import { EventEmitter } from 'eventemitter3';
import 'reflect-metadata';
import Clock from '../../utils/clock';
import { ILayer, ILayerService, LayerServiceEvent } from './ILayerService';
export default class LayerService extends EventEmitter<LayerServiceEvent> implements ILayerService {
    pickedLayerId: number;
    clock: Clock;
    alreadyInRendering: boolean;
    private layers;
    private layerList;
    private layerRenderID;
    private sceneInited;
    private animateInstanceCount;
    private shaderPicking;
    private enableRender;
    private readonly renderService;
    private readonly mapService;
    private readonly debugService;
    reRender: import("lodash").DebouncedFunc<() => void>;
    throttleRenderLayers: import("lodash").DebouncedFunc<() => void>;
    needPick(type: string): boolean;
    add(layer: ILayer): void;
    addMask(mask: ILayer): void;
    initLayers(): Promise<void>;
    getSceneInited(): boolean;
    getRenderList(): ILayer[];
    getLayers(): ILayer[];
    getLayer(id: string): ILayer | undefined;
    getLayerByName(name: string): ILayer | undefined;
    remove(layer: ILayer, parentLayer?: ILayer): Promise<void>;
    removeAllLayers(): Promise<void>;
    setEnableRender(flag: boolean): void;
    renderLayers(): Promise<void>;
    renderMask(masks: ILayer[]): void;
    beforeRenderData(layer: ILayer): Promise<void>;
    renderTileLayerMask(layer: ILayer): void;
    renderTileLayer(layer: ILayer): Promise<void>;
    updateLayerRenderList(): void;
    destroy(): void;
    startAnimate(): void;
    stopAnimate(): void;
    getOESTextureFloat(): boolean;
    enableShaderPick(): void;
    disableShaderPick(): void;
    getShaderPickStat(): boolean;
    clear(): void;
    private runRender;
    private stopRender;
}
