import { Creative } from '../../../api/core/creative'; import { PluginProperty } from '../../../api/core/plugin/PluginPropertyInterface'; import { EmailRendererPluginResponse } from '../../../api/plugin/emailtemplaterenderer/EmailRendererPluginResponse'; import { EmailRenderRequest } from '../../../api/plugin/emailtemplaterenderer/EmailRendererRequestInterface'; import { BasePlugin, PropertiesWrapper } from '../../common'; export interface EmailRendererBaseInstanceContext { creative: Creative; properties: PropertiesWrapper; } export declare abstract class EmailRendererPlugin extends BasePlugin { instanceContext: Promise; constructor(enableThrottling?: boolean); fetchCreative(id: string, forceReload?: boolean): Promise; fetchCreativeProperties(id: string, forceReload?: boolean): Promise; protected instanceContextBuilder(creativeId: string, forceReload?: boolean): Promise; protected getInstanceContext(creativeId: string, forceReload?: boolean): Promise; protected abstract onEmailContents(request: EmailRenderRequest, instanceContext: T): Promise; private initEmailContents; }