import * as i0 from '@angular/core'; import { OnInit } from '@angular/core'; import { Draw } from 'ol/interaction'; import { Feature } from 'ol'; import { Geometry } from 'ol/geom'; import { Vector } from 'ol/layer'; import { Vector as Vector$1 } from 'ol/source'; import { HsEventBusService } from 'hslayers-ng/services/event-bus'; import { HsMapService } from 'hslayers-ng/services/map'; import { Measurement } from 'hslayers-ng/types'; import * as i4 from 'hslayers-ng/common/panels'; import { HsPanelBaseComponent, HsGuiOverlayBaseComponent } from 'hslayers-ng/common/panels'; import * as i2 from '@angular/common'; import * as i3 from '@angular/forms'; import * as i5 from '@ng-bootstrap/ng-bootstrap'; import * as i6 from '@ngx-translate/core'; import * as rxjs from 'rxjs'; declare class HsMeasureService { hsMapService: HsMapService; hsEventBusService: HsEventBusService; draw: Draw; data: { measurements: any[]; multipleShapeMode: boolean; }; /** * sketches Array of measure sketches */ sketches: Feature[]; lastMeasurementId: number; measureVector: Vector>; measuringActivated: boolean; constructor(); /** * Enable/disable multiple shape mode for measuring (switch without parameter) * @param mode - Optional parameter if multiple shape mode should be enabled */ switchMultipleMode(mode?: boolean): void; /** * Set new measure vector layer */ setMeasureLayer(): void; /** * Change geometry type of measurement without deleting of old ones * @param type - Geometry type of measurement ('area' for polygon, 'line' for linestring) */ changeMeasureParams(type: string): void; /** * Clear all measurements and restart measuring */ clearMeasurement(): void; /** * Start measuring interaction in app */ activateMeasuring(type: string): void; /** * Stop measuring interaction in app */ deactivateMeasuring(): void; /** * Callback for mouse and touch move event, compute live measurement results * @param evt - Callback param for mouse move event */ mouseMoveHandler(evt: any): void; /** * Adds two measure results for multiple shape mode to display joined result * @param val1 - Output of new object * @param val2 - Old value */ addMultiple(val1: Measurement, val2: Measurement): Measurement; /** * Initialize draw interaction on Ol.map and event handlers for handling start and end of drawing * @param type - Geometry type */ addInteraction(type: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class HsMeasureComponent extends HsPanelBaseComponent implements OnInit { private hsEventBusService; hsMeasureService: HsMeasureService; private platformId; type: string; name: string; ngOnInit(): void; /** * Change geometry type of measurement without deleting of old ones */ changeMeasureParams(): void; /** * Reset sketch and all measurements to start new drawing */ clearAll(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class HsMeasureToolbarComponent extends HsGuiOverlayBaseComponent { constructor(); name: string; measureButtonClicked(): void; /** * Override parent class componentEnabled. Used to determine isVisible$ value */ componentEnabled(): rxjs.Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class HsMeasureModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { HsMeasureComponent, HsMeasureModule, HsMeasureService, HsMeasureToolbarComponent };