import { LayerConfig } from '../../types';
import { ILayerHandler, ILayerFactory } from './interfaces';

/**
 * 图层工厂类，负责根据类型创建对应的图层实例
 */
export declare class LayerFactory implements ILayerFactory {
    private static instance;
    private layerHandlers;
    private constructor();
    /**
     * 获取工厂单例实例
     */
    static getInstance(): LayerFactory;
    /**
     * 注册默认的图层处理器
     */
    private registerDefaultHandlers;
    /**
     * 创建图层处理器
     */
    createLayerHandler(config: LayerConfig): ILayerHandler;
    /**
     * 注册图层类型处理器
     */
    registerLayerType(type: string, handlerClass: new (config: LayerConfig) => ILayerHandler): void;
    /**
     * 取消注册图层类型处理器
     */
    unregisterLayerType(type: string): void;
    /**
     * 获取支持的图层类型
     */
    getSupportedTypes(): string[];
    /**
     * 检查是否支持指定的图层类型
     */
    isTypeSupported(type: string): boolean;
    /**
     * 批量创建图层处理器
     */
    createLayerHandlers(configs: LayerConfig[]): ILayerHandler[];
    /**
     * 根据配置创建图层处理器并返回图层实例
     */
    createLayer(config: LayerConfig): {
        handler: ILayerHandler;
        layer: import('ol/layer/Layer').default<import('ol/source/Source').default, import('ol/renderer/Layer').default<any>>;
    };
    /**
     * 批量创建图层
     */
    createLayers(configs: LayerConfig[]): {
        handler: ILayerHandler;
        layer: import('ol/layer/Layer').default<import('ol/source/Source').default, import('ol/renderer/Layer').default<any>>;
    }[];
    /**
     * 获取图层类型的默认配置
     */
    getDefaultConfig(type: string): Partial<LayerConfig>;
}
export declare const layerFactory: LayerFactory;
//# sourceMappingURL=LayerFactory.d.ts.map