UNPKG

@snehal96/unimail

Version:

Unified email fetching & document extraction layer for modern web apps

20 lines (19 loc) 1.18 kB
import { NormalizedEmail, FetchOptions, EmailStreamOptions, EmailStreamCallbacks, HistoryResponse, PushNotificationConfig, PushNotificationSetup, SyncOptions, SyncResult, PaginatedResponse } from '../interfaces.js'; export interface PaginatedEmailsResponse { emails: NormalizedEmail[]; nextPageToken?: string; totalCount?: number; } export interface IAdapter { authenticate(): Promise<void>; fetchEmails(options: FetchOptions): Promise<PaginatedEmailsResponse>; fetchEmailsWithPagination?(options: FetchOptions): Promise<PaginatedResponse<NormalizedEmail>>; streamEmails(options: EmailStreamOptions): AsyncGenerator<NormalizedEmail[], void, unknown>; fetchEmailsStream(options: EmailStreamOptions, callbacks: EmailStreamCallbacks): Promise<void>; getCurrentHistoryId?(): Promise<string>; getHistory?(startHistoryId: string, options?: SyncOptions): Promise<HistoryResponse>; getEmailById?(id: string): Promise<NormalizedEmail | null>; setupPushNotifications?(config: PushNotificationConfig): Promise<PushNotificationSetup>; stopPushNotifications?(): Promise<void>; processSync?(options?: SyncOptions): Promise<SyncResult>; }