import { ItemProposal, UserCampaignResource } from '../../../index'; import { AdRendererTemplateInstanceContext, AdRendererTemplatePlugin } from '../template/AdRendererTemplatePlugin'; export interface AdRendererRecoTemplateInstanceContext extends AdRendererTemplateInstanceContext { recommender_id?: string; } export declare abstract class AdRendererRecoTemplatePlugin extends AdRendererTemplatePlugin { constructor(enableThrottling?: boolean); /** * Helper to fetch the User Campaign * @param campaignId The campaignId -> should come from the AdRendererRequest * @param userCampaignId The userCampaignId -> should come from the AdRendererRequest * @returns A Promise of the User Campaign */ fetchUserCampaign(campaignId: string, userCampaignId: string): Promise; /** * Helper to fetch the User recommendations * @param instanceContext The instanceContext -> contains the recommender_id of the creative * @param userAgentId The userAgentId as a string -> should come from the AdRendererRequest (recommended) or from the UserCampaign * @returns A Promise of the Recommendations */ fetchRecommendations(instanceContext: AdRendererRecoTemplateInstanceContext, userAgentId: string): Promise>; protected instanceContextBuilder(creativeId: string): Promise; }