import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { LiveMapService } from '../depends/livemap.service'; import * as L from 'leaflet'; import { MapOptions, PointExpression } from 'leaflet'; import { TranslateService } from '../translate.service'; import { MqttController } from '../controllers/mqtt-controller'; import { FlespiService } from '../depends/custom.service'; import 'leaflet-draw'; import 'leaflet.markercluster'; import 'leaflet.heat/dist/leaflet-heat.js'; import { MatSnackBar } from '@angular/material'; import { ContextMenuData } from "../ngx-loop-context-menu/ngx-loop-context-menu.component"; import { ConfigurationService } from "../depends/configuration.service"; export interface ResourceMap { resource: T; marker: L.Marker; polyline: L.Polyline; polygon: L.Polygon; visible: boolean; highlighted: boolean; editable: boolean; customColor?: string; } export interface VehicleMap { marker: L.Marker; vehicle: any; driverName: string; visible: boolean; newMessage: boolean; highlighted: boolean; polyline: L.Polyline; checked?: boolean; color?: string; status?: string; } export declare class NgxLoopVehicleLiveMap implements OnInit, OnDestroy, AfterViewInit { liveMapService: LiveMapService; translate: TranslateService; customService: FlespiService; private cd; private _snackBar; private configurationService; vehiclesMap: VehicleMap[]; allVehiclesVisible: boolean; customPostVehiclesMapBody: any; trackingVehicle: VehicleMap; mapOptions: MapOptions; mapLayersOptions: any; mqttController: MqttController; maxRouteSize: number; iconsUrl: string; draw: boolean; onNewDrawing: EventEmitter; onEditedDrawing: EventEmitter>; onEditedDeleted: EventEmitter>; onMapClicked: EventEmitter<{ lat: number; lng: number; }>; onMapInitialized: EventEmitter; onVehiclesDownloaded: EventEmitter; onVehicleDataChanged: EventEmitter<{ data: VehicleMap; index: number; }>; onVehicleMarkerClicked: EventEmitter; onResourceClicked: EventEmitter>; onPolygonEditionChanged: EventEmitter; drawControl: L.Control.Draw; firstDownload: boolean; controlEnabled: boolean; isDrawing: boolean; deleting: boolean; ready: boolean; editingDrawResource: ResourceMap; deletingResource: ResourceMap; editingLayerName: string; map: L.Map; private vehiclesLayer; private vehiclesClusterLayer; private polylineLayer; private customLayers; private heatMapLayers; private selectedPolygonLayer; showContextMenu: boolean; contextMenuItems: Array; contextMenuPositionY: number; contextMenuPositionX: number; constructor(liveMapService: LiveMapService, translate: TranslateService, customService: FlespiService, cd: ChangeDetectorRef, _snackBar: MatSnackBar, configurationService: ConfigurationService); ngOnInit(): void; isReady(): boolean; cleanAndRebuild(): void; ngAfterViewInit(): void; getVehicleClusterLayer(): L.MarkerClusterGroup; enableControl(): void; disableControl(): void; ngOnDestroy(): void; setCustomVehiclePostBody(postBody: any): void; isEditingResource(geofenceMap: ResourceMap): boolean; createClusterLayer(layerName: string, options?: L.MarkerClusterGroupOptions): void; createHeatLayer(layerName: string, options: any): void; hideHeatLayer(layerName: any): void; showHeatLayer(layerName: any): void; getHeatLayer(layerName: any): any; addMarkersToCluster(layerName: string, resources: ResourceMap[] | VehicleMap[]): void; createLayer(layerName: string): void; addPolygonResourceToLayer(layerName: string, resource: ResourceMap): void; hideLayer(layerName: string): void; removeLayer(layerName: string): void; showLayer(layerName: string): void; getLayer(layerName: string): L.FeatureGroup | L.MarkerClusterGroup; initMQTT(): void; onMQTTConnected: () => void; isTrackingVehicle(vehicleMap: VehicleMap): boolean; setOpacityToLayer(layerName: string, opacity: number, fillOpacity: number): void; setOpacityToVehicleMarkers(opacity: number): void; resetTrackingVehicle(): void; setDrawingMode(): void; formatToCoordinates(latLngs: any): any; trackVehicle(vehicleMap: VehicleMap): void; getVehiclesVisibility(): boolean; hideVehicleMarker(vehicleMap: VehicleMap): void; showVehicleMarker(vehicleMap: VehicleMap): void; toggleVehicleMapMarker(vehicleMap: VehicleMap): void; hideVehicleMarkers(): void; showVehicleMarkers(): void; showVehicleClusters(): void; hideVehicleClusters(): void; toggleAllVehiclesVisibility(clustering: boolean): void; onMessageArrived: (message: any) => void; findVehicleByMessage(message: any): VehicleMap; getIconsUrl(): string; onMapReady: (map: any) => void; private returnSelectedToLayer; getPolylineOptions(color: string): any; downloadVehicles(): void; buildResourceMarker(iconPath: string, lat: number, lng: number, className: string, size: PointExpression, toolTipName?: string): L.Marker; getVehicleMarkerIcon(iconName: any): L.Icon; buildMarker(vehicleWithPosition: any): L.Marker; buildVehiclesMarkers(vehiclesWithPosition: any): void; unbindToolTip(mapping: ResourceMap | VehicleMap): void; bindToolTip(textContent: string, marker: L.Marker, className: string): void; toggleResourceVisibility(layerName: string, resource: ResourceMap): void; toggleAllResourceVisibility(layerName: string, visible: boolean): void; cleanLayer(layerName: string): void; resetEditing(): void; setupMap(): void; drawMarkers(layerName: string, objectsArray: ResourceMap[]): void; drawPolygons(layerName: string, objectsArray: ResourceMap[], coordsField: string, color: string): void; onSelectedPolygonResource(layerName: string, resource: ResourceMap): void; locateResource(layerName: string, resource: ResourceMap, zoom?: number): void; drawPolygon(layerName: string, coords: any, color: string): L.Polygon; private getLatLngsFromCoords; openSnackBar(message: string, type: string): void; }