import { Subject } from "rxjs"; import { MattertagData } from "../../mattertagData"; import { Feature, Hashtag, POI, Event } from "../../types.service"; import { FilterService } from "../filter.service"; import { NavigatorService } from "../navigator.service"; import { BaseUserService } from "../user.service"; import { BaseObjectService } from "./base-object.service"; import { CommentService } from "./comment.service"; import { HashtagService } from "./hashtag.service"; import { NavigationService } from "./navigation.service"; import { PoiService } from "./poi.service"; import { ZoneChangeService } from "../zoneChange.service"; import * as i0 from "@angular/core"; export declare class FeatureService extends BaseObjectService { private navigatorService; private filterService; private commentService; private userService; private hashtagService; private zoneChangeService; API: any; featureUpdated: Subject<{ space: Feature[]; zone: Feature[]; }>; currentFeatures: { space: Feature[]; zone: Feature[]; }; featureTags: Subject; featureFiltered: Feature[]; updateDone: Subject; zoneIDFilter: string; currentSpaceID: string; updating: Subject; isUpdating: boolean; featureDomainFilter: string[]; deskDomainFilter: string[]; deskBookingsUpdated: Subject; currentHashtags: Hashtag[]; createObservable: Subject; deleteObservable: Subject; constructor(apiInjected: any, navigatorService: NavigatorService, filterService: FilterService, poiService: PoiService, commentService: CommentService, userService: BaseUserService, navigationService: NavigationService, hashtagService: HashtagService, zoneChangeService: ZoneChangeService); createFeature(feature: Feature): Promise; deleteFeature(feature: Feature): Promise; updateFeature(feature: any): Promise; getFeature(id: string): Promise; initFeatures(): Promise; getFeaturesForSpace(spaceID: string, keepArchived?: boolean): Promise; getFeaturesBySpaceWithoutFiltering(spaceID: string): Promise; isBookingPlace(feature: Feature): void; setCoverImage(feature: Feature): void; updateFeatureLocation(feature: Feature, tagData: MattertagData, spaceID: string): Promise; setImages(feature: Feature): void; setVideos(feature: Feature): void; setDocuments(feature: Feature): void; setAudio(feature: Feature): void; setExternalLinks(feature: Feature): void; setEmbeds(feature: Feature): void; setIframes(feature: Feature): void; getFirstFeatureForSpace(spaceID: string): Promise; updateIconForAllFeaturesInSpace(tagIcon: string, spaceID: string, categoryID?: string): Promise<{ features: Feature[]; pois: POI[]; }>; getCreatedIndicesForFeaturesInSpace(spaceID: string): Promise; getDesksForSpace(spaceID: string): Promise; /** Return true if the current user has archived this feature */ isArchived(feature: Feature): boolean; setArchived(feature: Feature, archived: boolean): Promise; updateDueToCreate(feature: Feature): Promise; updateDueToDelete(deletedFeature: Feature): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }