import type { ILayer, IStage, IGlobal, ILayerParams, LayerMode, ILayerHandlerContribution } from '../interface';
import type { ILayerService } from '../interface/core';
export declare class DefaultLayerService implements ILayerService {
    layerMap: Map<IStage, ILayer[]>;
    staticLayerCountInEnv: number;
    dynamicLayerCountInEnv: number;
    inited: boolean;
    global: IGlobal;
    static idprefix: string;
    static prefix_count: number;
    static GenerateLayerId(): string;
    constructor();
    tryInit(): void;
    getStageLayer(stage: IStage): ILayer[];
    getRecommendedLayerType(layerMode?: LayerMode): LayerMode;
    getLayerHandler(layerMode: LayerMode): ILayerHandlerContribution;
    createLayer(stage: IStage, options?: Partial<ILayerParams>): ILayer;
    prepareStageLayer(stage: IStage): void;
    releaseLayer(stage: IStage, layer: ILayer): void;
    layerCount(stage: IStage): number;
    restLayerCount(stage: IStage): number;
    releaseStage(stage: IStage): void;
}
