import { IPmcData } from "../models/eft/common/IPmcData"; import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData"; import { IAkiProfile } from "../models/eft/profile/IAkiProfile"; import { IHealthConfig } from "../models/spt/config/IHealthConfig"; import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { SaveServer } from "../servers/SaveServer"; import { JsonUtil } from "../utils/JsonUtil"; import { TimeUtil } from "../utils/TimeUtil"; export declare class HealthHelper { protected jsonUtil: JsonUtil; protected logger: ILogger; protected timeUtil: TimeUtil; protected saveServer: SaveServer; protected configServer: ConfigServer; protected healthConfig: IHealthConfig; constructor(jsonUtil: JsonUtil, logger: ILogger, timeUtil: TimeUtil, saveServer: SaveServer, configServer: ConfigServer); /** * Resets the profiles vitality/healh and vitality/effects properties to their defaults * @param sessionID Session Id * @returns updated profile */ resetVitality(sessionID: string): IAkiProfile; /** * Update player profile with changes from request object * @param pmcData Player profile * @param info Request object * @param sessionID Session id * @param addEffects Should effects be added or removed (default - add) */ saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string, addEffects?: boolean): void; protected saveHealth(pmcData: IPmcData, sessionID: string): void; /** * Save effects to profile * Works by removing all effects and adding them back from profile * Remoces empty 'Effects' objects if found * @param pmcData Player profile * @param sessionID Session id * @param addEffects Should effects be added back to profile * @returns */ protected saveEffects(pmcData: IPmcData, sessionID: string, addEffects: boolean): void; /** * Add effect to body part in profile * @param pmcData Player profile * @param effectBodyPart body part to edit * @param effectType Effect to add to body part */ protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: string): void; protected isEmpty(map: any): boolean; }