import * as _angular_platform_browser from '@angular/platform-browser'; import { DomSanitizer } from '@angular/platform-browser'; import * as i0 from '@angular/core'; import { WritableSignal, EventEmitter } from '@angular/core'; import { Subject } from 'rxjs'; import { Vector as Vector$1 } from 'ol/source'; import { SldVersion } from 'geostyler-sld-parser'; import { Feature } from 'ol'; import { Style, Rule } from 'geostyler-style'; import { Vector, Layer } from 'ol/layer'; import { StyleLike, StyleFunction } from 'ol/style/Style'; import { HsQueryVectorService } from 'hslayers-ng/services/query'; declare class HsStylerService { hsQueryVectorService: HsQueryVectorService; private hsEventBusService; private hsLogService; sanitizer: DomSanitizer; private hsMapService; private hsConfig; private hsCommonLaymanService; private hsLayerSynchronizerService; private hsDialogContainerService; private hsToastService; layer: WritableSignal>>; layerBeingMonitored: boolean; onSet: Subject>>; layerTitle: string; styleObject: Style; sld: WritableSignal; qml: string; isAuthenticated: i0.Signal; pin_white_blue: any; pin_white_blue_highlight: any; colorMapDialogVisible: boolean; unsavedChange: boolean; changesStore: Map; syncing: i0.Signal; sldVersion: SldVersion; sldParsingError: boolean; constructor(); isVectorLayer(layer: any): boolean; /** * Get a Source for any vector layer. Both clustered and un-clustered. * @param layer - Any vector layer * @returns Source of the input layer or source of its cluster's source */ getLayerSource(layer: Vector>, isClustered: boolean): Vector$1; /** * Style clustered layer features using cluster style or individual feature style. * @param layer - Any vector layer */ styleClusteredLayer(layer: Vector>): Promise; /** * Upload style created by createDefaultStyle method to layman thus syncing style of * vector layer added without SLD by rewriting its default value */ private trySyncingStyleToLayman; /** * Parse style from 'sld' attribute defined in SLD format and convert to OL * style which is set on the layer. Also do the opposite if no SLD is defined, * because SLD is used in the styler panel. * * @param layer - OL layer to fill the missing style info */ initLayerStyle(layer: Vector>): Promise; /** * Parse style encoded as SLD or QML and return OL style object. * This function is used to support backwards compatibility with custom format. * @returns OL style object */ parseStyle(style: any): Promise<{ sld?: string; qml?: string; style: StyleLike; }>; guessStyleFormat(style: any): 'qml' | 'sld' | undefined; /** * Prepare current layers style for editing by converting * SLD attribute string to JSON and reading layers title * @param styleWithPriority Used to prioritize certain style type. For example when * loading style from a file */ fill(layer: Vector>, styleWithPriority?: 'sld' | 'qml'): Promise; /** * Create serialized canvas element with SVG icon drawn on it. * * Used for perf optimization instead of expensive SVG icons while icon.color is not * supported on Geostyler or we implement better VectorImage layer type support. * * NOTE: It's not possible to use HTMLCanvasElement directly, even though OL icon accepts it * as Geostyler uses structuredCopy before processing. */ private base64SvgToCanvas; private fixSymbolizerBugs; /** * Converts OL style into SLD */ olStyleToSld(style: StyleLike): Promise; /** * Convert SLD to OL style object */ sldToOlStyle(sld: string): Promise; /** * Convert QML to OL style object */ qmlToOlStyle(qml: string): Promise; geoStylerStyleToOlStyle(sldObject: Style): Promise; guessSldVersion(sld: string): SldVersion; /** * Convert SLD text to JSON which is easier to edit in Angular. */ sldToJson(sld: string): Promise