import { PersonalizationAdapter } from '../utils'; import { ImportConfig, ExperienceStruct } from '../types'; export default class Experiences extends PersonalizationAdapter { readonly config: ImportConfig; private createdCTs; private mapperDirPath; private cmsVariantPath; private cTsSuccessPath; private failedCmsExpPath; private expMapperDirPath; private eventsMapperPath; private experiencesPath; private experiencesDirPath; private audiencesMapperPath; private cmsVariantGroupPath; private experienceVariantsIdsPath; private variantUidMapperFilePath; private expThresholdTimer; private maxValidateRetry; private experiencesUidMapperPath; private experienceCTsPath; private expCheckIntervalDuration; private cmsVariants; private cmsVariantGroups; private experiencesUidMapper; private pendingVariantAndVariantGrpForExperience; private audiencesUid; private eventsUid; private personalizeConfig; private audienceConfig; private experienceConfig; constructor(config: ImportConfig); /** * The function asynchronously imports experiences from a JSON file and creates them in the system. */ import(): Promise; /** * function import experience versions from a JSON file and creates them in the project. */ importExperienceVersions(experience: ExperienceStruct, oldExperienceUid: string): Promise; private handleVersionUpdateOrCreate; /** * function to validate if all variant groups and variants have been created using personalize background job * store the variant groups data in mapper/personalize/experiences/cms-variant-groups.json and the variants data * in mapper/personalize/experiences/cms-variants.json. If not, invoke validateVariantGroupAndVariantsCreated after some delay. * @param retryCount Counter to track the number of times the function has been called * @returns */ validateVariantGroupAndVariantsCreated(retryCount?: number): Promise; attachCTsInExperience(): Promise[] | undefined>; createVariantIdMapper(): Promise; }