/// export interface ITemplate { id: string; themeId?: string; messages: IMessage[]; } export interface IMessageValidator { validate(payload: ITriggerPayload): Promise | boolean; } export interface IMessage { subject?: string | ((config: ITriggerPayload) => string); channel: ChannelTypeEnum; template: string | ((payload: ITriggerPayload) => Promise | string); active?: boolean | ((payload: ITriggerPayload) => Promise | boolean); validator?: IMessageValidator; } export declare enum ChannelTypeEnum { EMAIL = "email", SMS = "sms", DIRECT = "direct" } export interface ITriggerPayload { $email?: string; $phone?: string; $user_id: string; $theme_id?: string; $channel_id?: string; $attachments?: IAttachmentOptions[]; [key: string]: string | boolean | number | undefined | IAttachmentOptions | IAttachmentOptions[]; } export interface IAttachmentOptions { mime: string; file: Buffer; name?: string; channels?: ChannelTypeEnum[]; } //# sourceMappingURL=template.interface.d.ts.map