import 'reflect-metadata';
import { ILayer } from '../..';
import Clock from '../../utils/clock';
import { ILayerService } from './ILayerService';
export default class LayerService 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 configService;
    add(layer: ILayer): void;
    addMask(mask: ILayer): void;
    initLayers(): void;
    getSceneInited(): boolean;
    getRenderList(): ILayer[];
    getLayers(): ILayer[];
    getLayer(id: string): ILayer | undefined;
    getLayerByName(name: string): ILayer | undefined;
    cleanRemove(layer: ILayer, refresh?: boolean): void;
    remove(layer: ILayer, parentLayer?: ILayer): void;
    removeAllLayers(): void;
    setEnableRender(flag: boolean): void;
    renderLayers(): Promise<void>;
    updateLayerRenderList(): void;
    destroy(): void;
    startAnimate(): void;
    stopAnimate(): void;
    getOESTextureFloat(): boolean;
    enableShaderPick(): void;
    disableShaderPick(): void;
    getShaderPickStat(): boolean;
    clear(): void;
    private runRender;
    private stopRender;
}
