import { EventEmitter } from '@angular/core'; import { DocumentCollection, Service } from 'miam-jsonapi'; import { BehaviorSubject, Observable } from 'rxjs'; import { Recipe } from '../_models'; import { RecipeLike } from '../_models/recipe-like'; import { EventTrace } from '../_types/event-trace'; import { AnalyticsService } from './analytics.service'; import { UserService } from './user.service'; import { HttpUtilsService } from './http-utils.service'; import { HttpClient } from '@angular/common/http'; import * as i0 from "@angular/core"; export declare class RecipeLikesService extends Service { private analyticsService; private userService; private httpUtils; private http; resource: typeof RecipeLike; type: string; activeRecipeLikes: Map>; recipeLikeUpdated$: BehaviorSubject<{ id: string; isPast: boolean; }>; private MAX_RECIPE_LIKES_BEFORE_CLEAN; cleanUnobservedLikesIfNecessary: EventEmitter; private isCleaning; constructor(analyticsService: AnalyticsService, userService: UserService, httpUtils: HttpUtilsService, http: HttpClient); getLike(recipeId: string): BehaviorSubject; prepareRecipeLikeForUpdate(recipeId: string, recipeLikeId: string, isPast: boolean): RecipeLike; updateLike(recipeId: string, recipeLike: RecipeLike, eventTrace: EventTrace): void; addLikeToActivesIfNecessary(recipeId: string): void; removeLikeFromActivesIfNecessary(recipeId: string): void; doCleanUnobservedLikesIfNecessary(): void; addLikesToRecipes(recipes: Recipe[]): Observable>; getLikeHTML(recipeId: string, path?: string, categoryId?: string): Observable; private afterCleanAddLikesToRecipes; private fetchLikesOfRecipe; static ɵfac: i0.ɵɵFactoryDef; static ɵprov: i0.ɵɵInjectableDef; } //# sourceMappingURL=recipe-likes.service.d.ts.map