export interface EmailTemplateType { type: 'EMAIL'; input: { from: string; to: string; cc?: string; subject: string; text: string; html?: string; attachments?: ({ filename: string; path: string; } | { filename: string; content: string; contentType: string; encoding: string; } | { href: string; filename: string; })[]; }; } export interface SMSTemplateType { type: 'TWILIO' | 'BULKGATE' | 'BUDGETSMS'; input: { from: string; to: string; text: string; }; } export interface ArbitraryTemplateType { type: string; input: any; } export type TemplateResolver> = (params: { template: string; } & T, unchainedAPI: any) => Promise<(EmailTemplateType | SMSTemplateType | ArbitraryTemplateType)[]>; export declare const MessagingDirector: { registerTemplate: (templateName: string, templateResolver: TemplateResolver) => void; getTemplate: (templateName: string) => TemplateResolver> | undefined; getRegisteredTemplates: () => string[]; };