import { Subject } from 'rxjs'; import { Router } from '@angular/router'; import { Plan, PoiType, Zone } from '../../types.service'; import { BaseVisibilityService } from '../baseVisibility.service'; import { MatterportService } from '../matterport.service'; import { ViewerService } from '../viewer.service'; import { ZoneService } from './zone.service'; import { NavigationService } from './navigation.service'; import { BaseTagService } from '../tag.service'; import { Config } from '../../config'; import { ContentService } from '../content.service'; import * as i0 from "@angular/core"; export declare class PlanService { private zoneService; private navigationService; private viewerService; private router; private matterportService; private visibilityService; private contentService; chosenPlan: Plan; currentPlan: Plan; currentSweep: string; planFileCache: File; planCanvas: any; planDiv: HTMLElement | SVGElement; planDivContent: HTMLElement; panzoom: any; isReady: boolean; userPositionBtn: HTMLButtonElement; coeffPlanX: number; coeffPlanY: number; calibrationPlan: any; detailTagDiv: HTMLElement; detailTagDivIsHover: boolean; btnTagIsHover: boolean; resizePlanSubscription: Subject; imgPlan: HTMLImageElement; lastTouchTime: number; delayDblTouch: number; lastRotation: number; htmlContentToInject: { title: string; content: string; elementID: string; y: number; x: number; tagIcon: string; url: string; }[]; cache: { equipIDs: string[]; ticketIDs: string[]; measurementsIDs: string[]; featureIDs: string[]; zoneID: string; plan: Plan; htmlContent: { title: string; content: string; elementID: string; y: number; x: number; tagIcon: string; url: string; }[]; }; focusMouseTagDiv: boolean; API: any; constructor(apiInjected: any, zoneService: ZoneService, navigationService: NavigationService, viewerService: ViewerService, router: Router, matterportService: MatterportService, visibilityService: BaseVisibilityService, contentService: ContentService); createPlan(planInput: Plan): Promise; deletePlan(plan: Plan): Promise; getPlansForSpace(spaceID: string): Promise; getPlansForZone(zoneID: string): Promise; getSingedPlansForSpace(spaceID: string): Promise; getPlansWithZonesForSpace(spaceID: string): Promise; setChosenPlan(chosenPlan: Plan): void; getChosenPlan(): Plan; setPlanFileCache(planFileCache: File): Promise; getPlanFileCache(): File; createPlanWithAnnexe(plan: Plan, file: File): Promise; updatePlan(plan: any): Promise; updatePlanFile(): Promise; setAllPlansForZoneNotCurrent(zoneID: string, currentPlanID: string): Promise; configurePlan(currentPlan: Plan, divId?: string, divContentId?: string): Promise; clearPlanImage(): void; drawPdf(currentPlan: Plan): Promise; drawElement(element: any, tagType: PoiType, currentPlan: Plan, tagService: BaseTagService, config: Config, sizeButton?: number): Promise; drawUserPosition(currentSweep?: string, sizeButton?: number): Promise; /** * Center the view of the plan on coordinates * @param coordinate Coordinate on the plan */ moveOnPoint(coordinate: any): void; /** * Apply a rotation to the plan * Buttons will remain in the correct rotation * @param rotation */ updateRotation(rotation: any): void; removeCurrentPosition(): void; styleButton(button: HTMLButtonElement, url: string, sizeButton?: number): void; addListenersToButton(button: HTMLButtonElement, url: string, tagService?: BaseTagService, element?: any): void; clearBtn(idList: any[]): void; clearAllButtons(): void; updateAllButtonsStyle(properties: Array, values: Array): void; onPlanRemove(): void; resizePlan(isRemoving: boolean): Promise; handleTouch(event: any): void; onDblClickPlan(event: any): Promise; /** * Configures plan from cache (previous plan). */ uploadPlanFromCache(): Promise; /** * Puts buttons (tags) from cache according to passed element IDs (for filter if any) * @param elementIDs elements (tickets, equipments, etc) to be shown on plan */ uploadTagsFromCache(sizeButton?: number): void; getCalibratedPlanForZone(zone: Zone): Promise; transformPosition3DForNewCalibration(position: { x: number; y: number; z: number; }): { x: number; y: number; coeffX: number; coeffY: number; }; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }