declare class GirafeConfig { general: { locale: string; logLevel: 'debug' | 'info' | 'warn' | 'error'; }; languages: { translations: { [key: string]: string[]; }; defaultLanguage: string; }; interface: { defaultSelectionComponent: string; darkFrontendMode: boolean | undefined; darkMapMode: boolean; }; themes: { url: string; defaultTheme: string; imagesUrlPrefix: string; showErrorsOnStart: boolean; selectionMode: 'add' | 'replace'; }; basemaps: { show: boolean; defaultBasemap: string; OSM: boolean; SwissTopoVectorTiles: boolean; emptyBasemap: boolean; opacityBasemaps: string[]; }; treeview: { hideLegendWhenLayerIsDeactivated: boolean; defaultIconSize: { width: number; height: number; }; }; search: { url: string; resultsSrid: string; objectPreview?: boolean; layerPreview?: boolean; minResolution?: number; defaultFillColor?: string; defaultStrokeColor?: string; defaultStrokeWidth?: number; paintSearchResults?: boolean; }; print?: { url: string; formats?: string[]; defaultFormat?: string; layouts?: string[]; defaultLayout?: string; scales?: number[]; defaultScale?: number; attributeNames?: string[]; printLegend?: { useBbox?: boolean; label?: Record; params?: Record>; showGroupsTitle?: boolean; }; customScale?: boolean; }; selection: { maxFeature: number; defaultFillColor: string; defaultStrokeColor: string; defaultStrokeWidth: number; highlightFillColor: string; highlightStrokeColor: string; }; drawing: { defaultFillColor: string; defaultStrokeColor: string; defaultStrokeWidth: number; defaultTextSize: number; defaultFont: string; defaultVertexRadius: number; defaultVertexFillColor: string; defaultVertexStrokeWidth: number; }; share?: { service: 'gmf' | 'geogirafe' | null; preferNames: boolean; createUrl: string; getUrl?: string; }; projections: { [key: string]: string; }; map: { srid: string; startZoom: string; startPosition: string; maxExtent?: string; scales: number[]; constrainScales: boolean; constrainRotation: boolean; showScaleLine: boolean; }; map3d?: { terrainImagery: { url: string; srid: 4326 | 3857; minLoD: number | undefined; maxLoD: number | undefined; coverageArea: number[] | undefined; }; tilesetsMaxError: number | undefined; terrainUrl: string; tilesetsUrls: string[]; maximumZoomDistance: number; }; lidar?: { url: string; }; news?: { urls: string[]; autoDisplay: boolean; }; externalLayers?: { predefinedSources: { label: string; type: 'WMS' | 'WMTS'; url: string; }[]; }; contextmenu: { crs: { code: string; translation: string; format: 'decimal' | 'dms'; precision: number; }[]; sources: { id: string; translation: string; prefix: string; suffix: string; precision: number; crs: string; nodata: number; url: string; loading: boolean; }[]; links: { translation: string; crs: string; url: string; }[]; }; crs: { code: string; definition: string; }[]; csv: { encoding: string; extension: string; includeHeader: boolean; quote: string; separator: string; }; metadata: { metadataUrlPrefix: string; }; infoWindow: { defaultWindowWidth: string; defaultWindowHeight: string; defaultWindowPositionTop: string; defaultWindowPositionLeft: string; }; offline?: { downloadStartZoom: number; downloadEndZoom: number; }; query: { legacy: boolean; }; gmfauth?: { url: string; loginRequired: boolean; checkSessionOnLoad: boolean; audience: string[]; authMode: 'cookie'; refererPolicy: ReferrerPolicy; audienceExcludedPaths: string[]; }; oauth?: { issuer: { url: string; algorithm: 'oauth2' | 'oidc'; codeChallengeMethod: string; clientId: string; scope: string; loginRequired: boolean; checkSessionOnLoad: boolean; audience: string[]; audienceExcludedPaths: string[]; }; geomapfish: { userInfoUrl: string; loginUrl: string; logoutUrl: string; anonymousUsername: string; authMode: 'token' | 'cookie'; refererPolicy: ReferrerPolicy; }; }; userdata: { source: 'localStorage' | 'server'; getUrl: string | undefined; postUrl: string | undefined; }; contact?: { url: string; reasons: string[]; email: string; }; onboarding?: { steps: { component?: string; element: string; title: string; description: string; }[]; }; api?: { demo: { center: string; zoom: string; basemap: string; crosshair: string; tooltip: string; layers: string; multiLayers: string; layersWithConfig: string; layersWithConfigCenter: string; }; }; extendedConfig?: Record; static readonly DEFAULT_LOCALE = "en-US"; /** * Creates the configuration of the app validating the json passed or giving default values. * * Every property of config that is not complying with GirafeConfig type is ignored. * @param config the configuration */ constructor(config: GirafeConfig); private initConfigProjections; private initConfigMap3D; private initConfigMap; private initConfigQuery; private initConfigDrawing; private initConfigShare; private initConfigSelection; private initConfigPrint; private initConfigSearch; private initConfigTreeview; private initConfigBasemaps; private initConfigLidar; private initConfigNews; private initConfigCsv; private initConfigMetadata; private initConfigInfoWindow; private initConfigContact; private initConfigOffline; private initConfigThemes; private initConfigLanguages; private initConfigInterface; private initConfigGeneral; private initGmfOauth; private initConfigOauth; private initUserData; private initContextMenu; private initCRS; private initExternalLayers; private initExtendedConfig; private initOnboarding; private initApiConfig; } export default GirafeConfig;