/// import type { RequestOptions } from 'https'; import Request, { BearerAuth, RequestData } from './request'; import { Region } from './regions'; import { SendEmailRequest, SendPushRequest, SendSMSRequest, SendInboxMessageRequest } from './api/requests'; import { Filter, IdentifierType } from './types'; type APIDefaults = RequestOptions & { region: Region; url?: string; }; type Recipients = Record; export declare enum DeliveryExportMetric { Created = "created", Attempted = "attempted", Sent = "sent", Delivered = "delivered", Opened = "opened", Clicked = "clicked", Converted = "converted", Bounced = "bounced", Spammed = "spammed", Unsubscribed = "unsubscribed", Dropped = "dropped", Failed = "failed", Undeliverable = "undeliverable" } export type DeliveryExportRequestOptions = { start?: number; end?: number; attributes?: string[]; metric?: DeliveryExportMetric; drafts?: boolean; }; export declare class APIClient { appKey: BearerAuth; defaults: APIDefaults; request: Request; apiRoot: string; constructor(appKey: BearerAuth, defaults?: Partial); sendEmail(req: SendEmailRequest): Promise>; sendPush(req: SendPushRequest): Promise>; sendSMS(req: SendSMSRequest): Promise>; sendInboxMessage(req: SendInboxMessageRequest): Promise>; getCustomersByEmail(email: string): Promise>; triggerBroadcast(id: string | number, data: RequestData, recipients: Recipients): Promise>; listExports(): Promise>; getExport(id: string | number): Promise>; downloadExport(id: string | number): Promise>; createCustomersExport(filters: Filter): Promise>; createDeliveriesExport(newsletterId: number, options?: DeliveryExportRequestOptions): Promise>; getAttributes(id: string | number, idType?: IdentifierType): Promise>; } export { SendEmailRequest, SendPushRequest, SendSMSRequest, SendInboxMessageRequest } from './api/requests';