import { Event, IUpdate, Object3D, Zone } from "../../types.service"; import { Subject } from "rxjs"; import { BaseUserService } from "../user.service"; import { NavigatorService } from "../navigator.service"; import { FilterService } from "../filter.service"; import { ZoneChangeService } from "../zoneChange.service"; import * as i0 from "@angular/core"; export declare class Object3DService { private userService; private navigatorService; private zoneChangeService; private filterService; API: any; objects3DUpdated: Subject<{ space: Object3D[]; zone: Object3D[]; }>; currentObjects3D: { space: Object3D[]; zone: Object3D[]; }; updateDone: Subject; zoneIDFilter: string; currentZone: Zone; currentSpaceID: string; /** Null means we do not apply a filter, empty array ([]), means we that we hide all object3D */ object3DDomainFilter: string[]; updating: Subject; currentlyUpdating: boolean; deleteObservable: Subject; createObservable: Subject; updateObservable: Subject; isMuseumUser: boolean; isUpdating: boolean; private destroy$; private selectedObject3D; constructor(apiInjected: any, userService: BaseUserService, navigatorService: NavigatorService, zoneChangeService: ZoneChangeService, filterService: FilterService); getObjects3DBySpace(spaceID: string): Promise>; initObjects3D(): Promise; getSelectedObject3D(): any; setSelectedObject3D(selected: any): void; updateDueToDelete(deletedObject3D: Object3D): void; updateDueToCreate(createdObj3D: Object3D): void; /** * Not implemented yet! May be usefull for the future (filter 3D objects for a given authorized user: example libs of objects) * @param objectId */ deleteObject3D(objectId: string): Promise; create(input: Object3D): Promise; updateObject3D(input: any): Promise; /** Basic CRUD operations */ readObject3D(id: string): Promise; adaptObject3D(object3D: Object3D): Promise; updateObject3DWithEvent(object3D: IUpdate & Partial, event?: Event): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }