export interface ClientParams {
    url: string;
    debug?: boolean | undefined;
    domain?: string;
    token: string;
}
interface EmailAddress {
    address: string;
    name: string;
}
interface CcBccItem {
    email_address: EmailAddress;
}
interface MimeHeader {
    [key: string]: string;
}
interface BasicEmailParams {
    from: {
        address: string;
        name: string;
    };
    subject: string;
    reply_to?: EmailAddress[];
    textbody?: string;
    htmlbody?: string;
    cc?: CcBccItem[];
    bcc?: CcBccItem[];
    track_clicks?: boolean;
    track_opens?: boolean;
    client_reference?: string;
    mime_headers?: MimeHeader;
    attachments?: Array<{
        name: string;
        mime_type?: string;
        file_cache_key?: string;
        content?: string;
    }>;
    inline_images?: Array<{
        cid: string;
        mime_type?: string;
        file_cache_key?: string;
        content?: string;
    }>;
    merge_info?: {
        [key: string]: string;
    };
}
export interface Sendmail extends BasicEmailParams {
    to: CcBccItem[];
}
export interface SendmailBatch extends BasicEmailParams {
    to: Array<{
        email_address: EmailAddress;
        merge_info?: {
            [key: string]: string;
        };
    }>;
}
interface TemplateBasicParams {
    from: {
        address: string;
        name: string;
    };
    mail_template_key?: string;
    template_alias?: string;
    template_key?: string;
    reply_to?: EmailAddress[];
    cc?: CcBccItem[];
    bcc?: CcBccItem[];
    track_clicks?: boolean;
    track_opens?: boolean;
    client_reference?: string;
    mime_headers?: MimeHeader;
    merge_info?: {
        [key: string]: string;
    };
}
export interface TemplateQueryParams extends TemplateBasicParams {
    to: CcBccItem[];
}
export interface TemplateBatchParams extends TemplateBasicParams {
    to: Array<{
        email_address: EmailAddress;
        merge_info?: {
            [key: string]: string;
        };
    }>;
}
export interface SendMailParams {
    options: Sendmail;
}
export interface SendBatchMailParams {
    options: SendmailBatch;
}
export interface SendTemplateMailParams {
    options: TemplateQueryParams;
}
export interface SendTemplateBatchMailParams {
    options: TemplateBatchParams;
}
export {};
