export interface IMessageTemplate {
    id: string;
    name: string;
    type: 'sms' | 'email' | 'whatsapp';
    content: string;
    subject?: string;
}
export interface IRecipient {
    contactId: string;
    email?: string;
    phone?: string;
    firstName?: string;
    lastName?: string;
    customFields?: Record<string, any>;
}
export interface IBulkMessageResponse {
    successful: string[];
    failed: Array<{
        contactId: string;
        reason: string;
    }>;
    total: number;
}
export interface IEmailOptions {
    type: 'Email';
    subject: string;
    body?: string;
    html?: string;
    templateId?: string;
    attachments?: Array<{
        filename: string;
        content: string;
        contentType: string;
    }>;
    emailFrom?: string;
    emailTo?: string;
    emailCc?: string[];
    emailBcc?: string[];
    emailReplyMode?: 'reply' | 'reply_all';
    replyMessageId?: string;
    scheduledTimestamp?: number;
}
export interface ISMSOptions {
    type: 'SMS';
    message: string;
    templateId?: string;
    mediaUrl?: string;
    fromNumber?: string;
    toNumber?: string;
    scheduledTimestamp?: number;
}
export interface IWhatsAppOptions {
    type: 'WhatsApp';
    message: string;
    templateId?: string;
    templateParams?: Record<string, any>;
    mediaUrl?: string;
    scheduledTimestamp?: number;
}
