import { UpGradeClientInterfaces } from '../types'; import { CaliperEnvelope, IExperimentAssignmentv5, ILogInput, IUserAliases } from 'upgrade_types'; import { DataService } from 'DataService/DataService'; import { IMarkDecisionPointParams } from 'UpGradeClient/UpGradeClient.types'; export default class ApiService { private dataService; private context; private hostUrl; private userId; private token; private apiVersion; private clientSessionId; private httpClient; private api; private groupsForSession; private includeStoredUserGroups; constructor(config: UpGradeClientInterfaces.IConfig, dataService: DataService); setFeatureFlagUserGroupsForSession(groupsForSession: Record>, includeStoredUserGroups: boolean): void; private setHttpClient; private validateClient; private createOptions; private sendRequest; init(group?: Record>, workingGroup?: Record): Promise; setGroupMembership(group: UpGradeClientInterfaces.IExperimentUserGroup): Promise; setWorkingGroup(workingGroup: UpGradeClientInterfaces.IExperimentUserWorkingGroup): Promise; setAltUserIds(altUserIds: UpGradeClientInterfaces.IExperimentUserAliases): Promise; getAllExperimentConditions(): Promise; markDecisionPoint({ site, target, condition, status, uniquifier, clientError, }: IMarkDecisionPointParams): Promise; log(logData: ILogInput[]): Promise; logCaliper(logData: CaliperEnvelope): Promise; getAllFeatureFlags(): Promise; sendReward(params: { rewardValue: 'SUCCESS' | 'FAILURE'; experimentId?: string; context?: string; decisionPoint?: { site: string; target: string; }; }): Promise; }