import { Subject } from 'rxjs'; import { MatterportService } from './matterport.service'; import { BaseTagService } from './tag.service'; import { DbObjectType, POI, PoiType, Comment, Equipment, Ticket, Feature, SpModule } from '../types.service'; import { PoiService } from './models/poi.service'; import * as i0 from "@angular/core"; export declare class ViewerService { private poiService; private matterportService; private viewerMode; currentModel3D: string; private tourUrl; viewerIsOn: Subject<{ spaceID: string | null; model3D: string | null; sweep: string | null; rotation: { x: number; y: number; } | null; }>; dataIsLoaded: Subject; isLoaded: boolean; showingViewer: boolean; sweepToMove: string | null; rotationToMove: { x: number; y: number; } | null; goToTriggered: Subject; toolboxStates: { dollhouse: { stat: boolean; iconId: string; show(): void; hide(): void; }; floorplan: { stat: boolean; }; mesure: { stat: boolean; iconId: string; show(): void; hide(): void; }; filter: { stat: boolean; }; }; private isObjectLoaded; constructor(poiService: PoiService, matterportService: MatterportService); checkMode(indexMode: string): boolean; setMode(indexMode: string): void; setTourUrl(model3d: string, showIconPlan?: boolean, showIconDollhouse?: boolean, showIconFloors?: boolean, enableQuickStart?: boolean): void; clearAll(): Promise; getMode(): string; getViewerSelectedService(): MatterportService; getTourUrl(): string; getMatterportService(): MatterportService; setSweepToMove(sweep: string): void; setRotationToMove(rotation: { x: number; y: number; }): void; action_move_to_tag(elementId: string): Promise; /** * Adds Mattertags to Viewer * @param objects List of objects (tickets, equipments) etc to be added as Mattertags */ addObjectTagsToViewer(objects: DbObjectType[]): Promise; actionAddObjectFromPOI(object: DbObjectType, poi: POI): Promise; action_delete_element(element: DbObjectType): Promise; /** * Enable tag placement menu to add a new element depending on its type (TICKET, DATA, EQUIPMENT etc) */ actionAddNewElementToViewer(poiType: PoiType): Promise; /** * Launches the repositioning of an existing Mattertag related to parameter object * @param element object (TICKET, EQUIPMENT, FEATURE, etc) * @param poiType type of object */ actionRepositionElementInViewer(element: DbObjectType, poiType: PoiType): Promise; /** * Enable ticket placement menu to add a new ticket */ action_canceled(): void; action_toolbox_inside_view(): void; actionShowAllFloors(): void; action_toolbox_dollhouse(): void; action_floorplan(): Promise; action_toolbox_mesure(): void; action_toolbox_cancel_mesure(): void; action_update_poi(poi: POI, isValid: boolean, element: DbObjectType): Promise; editOnlyTagStyleForPoi(poi: POI, object: DbObjectType): void; addIconAndSetForPoi(poi: POI, iconPath: string): void; changeToRegistredIconForPoi(poi: POI, iconName: string): void; updateHtmlTagForPoiWithObject(poi: POI, object: DbObjectType): Promise; /** * Move an existing poi in Matterport * @param poi * @param element */ action_move_poi_visually(poi: POI, element: Ticket | Feature | Equipment | Comment): Promise; initMatterportSdk(spaceID: string, model3D: string, tagService: BaseTagService, module?: SpModule): Promise; removeForbiddenSweeps(forbiddenSweeps: string[]): void; setObject3DLoadedInPosition(objectLoaded: boolean): void; isObject3DLoadedInPosition(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }