export type Identifiers = { id: string | number; } | { email: string; }; export type SendEmailRequestRequiredOptions = { to: string; identifiers: Identifiers; }; export type SendEmailRequestOptionalOptions = Partial<{ message_data: Record; headers: Record; preheader: string; reply_to: string; bcc: string; body_plain: string; body_amp: string; fake_bcc: boolean; disable_message_retention: boolean; send_to_unsubscribed: boolean; tracked: boolean; queue_draft: boolean; send_at: number; disable_css_preprocessing: boolean; language: string; }>; export type SendEmailRequestWithTemplate = SendEmailRequestRequiredOptions & SendEmailRequestOptionalOptions & { transactional_message_id: string | number; }; export type SendEmailRequestWithoutTemplate = SendEmailRequestRequiredOptions & SendEmailRequestOptionalOptions & { body: string; subject: string; from: string; }; export type SendEmailRequestOptions = SendEmailRequestWithTemplate | SendEmailRequestWithoutTemplate; export type EmailMessage = Partial & { attachments: Record; }; export declare class SendEmailRequest { message: EmailMessage; constructor(opts: SendEmailRequestOptions); attach(name: string, data: any, { encode }?: { encode?: boolean | undefined; }): void; } export type SendPushCustomPayload = { ios: Record; android: Record; }; export type SendPushRequestRequiredOptions = { identifiers: Identifiers; transactional_message_id: string | number; }; export type SendPushRequestOptionalOptions = Partial<{ to: string; title: string; message: string; disable_message_retention: boolean; send_to_unsubscribed: boolean; queue_draft: boolean; message_data: Record; send_at: number; language: string; image_url: string; link: string; sound: string; custom_data: Record; device: Record; custom_device: Record; }>; export type SendPushRequestWithoutCustomPayload = SendPushRequestRequiredOptions & SendPushRequestOptionalOptions & {}; export type SendPushRequestWithCustomPayload = SendPushRequestRequiredOptions & SendPushRequestOptionalOptions & { custom_payload: SendPushCustomPayload; }; export type SendPushRequestOptions = SendPushRequestWithoutCustomPayload | SendPushRequestWithCustomPayload; export type PushMessage = Partial & Omit>; export declare class SendPushRequest { message: PushMessage; constructor(opts: SendPushRequestOptions); } export type SMSMessage = Partial; export type SendSMSRequestRequiredOptions = { identifiers: Identifiers; transactional_message_id: string | number; }; export type SendSMSRequestOptionalOptions = Partial<{ to: string; disable_message_retention: boolean; send_to_unsubscribed: boolean; queue_draft: boolean; message_data: Record; send_at: number; language: string; }>; export type SendSMSRequestOptions = SendSMSRequestRequiredOptions & SendSMSRequestOptionalOptions & {}; export declare class SendSMSRequest { message: SMSMessage; constructor(opts: SendSMSRequestOptions); } export type InboxMessage = Partial; export type SendInboxMessageRequestRequiredOptions = { identifiers: Identifiers; transactional_message_id: string | number; }; export type SendInboxMessageRequestOptionalOptions = Partial<{ disable_message_retention: boolean; queue_draft: boolean; message_data: Record; send_at: number; language: string; }>; export type SendInboxMessageRequestOptions = SendInboxMessageRequestRequiredOptions & SendInboxMessageRequestOptionalOptions & {}; export declare class SendInboxMessageRequest { message: InboxMessage; constructor(opts: SendInboxMessageRequestOptions); }