import { IBrainSerializer } from '../../state/brain/serialize.js';
import LayersConfig from '../../state/layersConfig.js';
import BaseLayer from '../../../models/layers/baselayer.js';
import IGirafeContext from '../../context/icontext.js';
import { SharedLayer } from './sharedtypes.js';
export default class LayersConfigSerializer implements IBrainSerializer<LayersConfig> {
    private readonly context;
    constructor(context: IGirafeContext);
    private get state();
    private get preferNames();
    brainSerialize(layersConfig: LayersConfig): string;
    protected serialize(layers: BaseLayer[]): string;
    brainDeserialize(str: string): void;
    protected deserialize(str: string): BaseLayer[];
    private getSerializedLayerTree;
    protected getSerializedLayer(layer: BaseLayer): SharedLayer;
    private getExternalSerializedTheme;
    private getExternalSerializedLayer;
    private getInternalSerializedGroupOrTheme;
    private getInternalLayerType;
    private getInternalSerializedLayer;
    private getDeserializedLayerTree;
    private deserializeInternalObject;
    private deserializeInternalTheme;
    private deserializeInternalGroup;
    private deserializeInternalLayer;
    private checkUnknownLayers;
    private removeUnnecessaryChilds;
    private reorderChildren;
    private findBaseLayerById;
    private findLayerRecursiveById;
    private findBaseLayerByName;
    private findLayerRecursiveByName;
    private deserializeExternalObject;
    private deserializeExternalTheme;
    private deserializeExternalWmsLayer;
    private deserializeExternalWmtsLayer;
}
