import { BasePlugin, PluginProperty, EmailRouterBaseInstanceContext, EmailRoutingRequest, EmailRoutingPluginResponse, CheckEmailsRequest, CheckEmailsPluginResponse } from "../../../index";
export declare abstract class EmailRouterPlugin extends BasePlugin {
    instanceContext: Promise<EmailRouterBaseInstanceContext>;
    fetchEmailRouterProperties(id: string): Promise<PluginProperty[]>;
    protected instanceContextBuilder(routerId: string): Promise<EmailRouterBaseInstanceContext>;
    protected abstract onEmailRouting(request: EmailRoutingRequest, instanceContext: EmailRouterBaseInstanceContext): Promise<EmailRoutingPluginResponse>;
    protected getInstanceContext(emailRouterId: string): Promise<EmailRouterBaseInstanceContext>;
    private initEmailRouting();
    protected abstract onEmailCheck(request: CheckEmailsRequest, instanceContext: EmailRouterBaseInstanceContext): Promise<CheckEmailsPluginResponse>;
    private initEmailCheck();
    constructor();
}
