import { PluginProperty } from '../../api/core/plugin/PluginPropertyInterface'; import { CheckEmailsRequest, EmailRoutingRequest } from '../../api/plugin/emailtemplaterouter/EmailRouterRequestInterface'; import { BasePlugin, PropertiesWrapper } from '../common/BasePlugin'; export interface EmailRouterBaseInstanceContext { properties: PropertiesWrapper; } export interface EmailRoutingPluginResponse { result: boolean; } export interface CheckEmailsPluginResponse { result: boolean; } export declare abstract class EmailRouterPlugin extends BasePlugin { instanceContext: Promise; constructor(enableThrottling?: boolean); fetchEmailRouterProperties(id: string): Promise; protected instanceContextBuilder(routerId: string): Promise; protected abstract onEmailRouting(request: EmailRoutingRequest, instanceContext: EmailRouterBaseInstanceContext): Promise; protected getInstanceContext(emailRouterId: string): Promise; protected abstract onEmailCheck(request: CheckEmailsRequest, instanceContext: EmailRouterBaseInstanceContext): Promise; private initEmailRouting; private initEmailCheck; }