import * as i0 from '@angular/core'; import { OnInit, ViewRef } from '@angular/core'; import { HsDialogComponent, HsDialogContainerService, HsDialogItem } from 'hslayers-ng/common/dialogs'; import { Layer } from 'ol/layer'; import { Source } from 'ol/source'; import * as i2 from '@angular/common'; import * as i3 from '@ngx-translate/core'; type RemoveLayerWrapper = { layer: Layer | string; toRemove: boolean; displayTitle: string; }; declare class HsRemoveLayerDialogService { private hsMapService; private hsToastService; private hsLanguageService; private hsLaymanService; private hsCommonLaymanService; private hsDialogContainerService; /** * Create a remove layer wrapper */ wrapLayer(layer: Layer | string): RemoveLayerWrapper; /** * Removes selected drawing layer from both Layermanager and Layman * @param layer - Layer to be deleted - use when trying to delete layer other than hsDrawService.selectedLayer * @param deleteFromOptions - From where the layer should be deleted, defaults to map, map&catalogue */ removeLayer(layer: Layer | string, deleteFromOptions?: HsRmLayerDialogDeleteOptions[]): Promise; /** * Overload for when delete options is 'catalogue' * ['catalogue'] delete option is expected */ removeMultipleLayers(layers: string[], deleteFromOptions: ['catalogue']): Promise; removeMultipleLayers(layers: Layer[], deleteFromOptions: Exclude[] | ['map']): Promise; /** * Remove layer from map and Layman if desirable and possible */ private completeLayerRemoval; /** * Once layer is removed from catalogue try to find it in the map by name and remove it as well */ private tryRemovingFromMap; private removeFromCatalogue; getDeleteNote(plural?: boolean): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Both catalogue and mapcatalogue will remove layer from map as well. * Difference is with layer 'form' - string vs Layer (see service removeMultipleLayers overloads) * string - Name param from Layman layer descriptor. Not all layers are guaranteed to be in map * Layer - OL layer. Layers already in map */ type HsRmLayerDialogDeleteOptions = 'map' | 'catalogue' | 'mapcatalogue'; type HsRmLayerDialogResponse = { value: 'yes' | 'no'; type?: HsRmLayerDialogDeleteOptions; }; declare class HsRmLayerDialogComponent implements HsDialogComponent, OnInit { hsDialogContainerService: HsDialogContainerService; service: HsRemoveLayerDialogService; private hsLanguageService; private commonLaymanService; dialogItem: HsDialogItem; _selectAll: boolean; isAuthenticated: boolean; deleteFrom: (typeof this.data)['deleteFromOptions'][number]; deleteAllowed: boolean; viewRef: ViewRef; /** * @param deleteFromOptions - From where the layer should be deleted eg. map, catalogue map&catalogue */ data: { multiple: boolean; title: string; deleteFromOptions?: HsRmLayerDialogDeleteOptions[]; message: string; note?: string; items?: RemoveLayerWrapper[]; }; ngOnInit(): void; yes(): void; no(): void; selectDeleteOption(option: any): void; checkToRemove(item: any): void; toggleAll(): void; getTitle(item: RemoveLayerWrapper): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class HsRmLayerDialogModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { HsRemoveLayerDialogService, HsRmLayerDialogComponent, HsRmLayerDialogModule }; export type { HsRmLayerDialogDeleteOptions, HsRmLayerDialogResponse, RemoveLayerWrapper };