UNPKG

gmail-reader

Version:

A Gmail reader package for Google Workspace accounts with domain-wide delegation support

48 lines (47 loc) 2.31 kB
import { GmailClient } from './gmailClient'; import { Email, EmailAttachment, EmailQueryOptions, EmailReadOptions, EmailListResponse, GmailClientConfig } from './types'; /** * Create a Gmail client for reading emails * * @param config - Client configuration including clientId and clientSecret * @param refreshToken - OAuth2 refresh token (optional for domain-wide delegation) * @param options - Additional options for domain-wide delegation * @returns A configured GmailClient instance */ export declare function createGmailClient(config: GmailClientConfig, refreshToken?: string, options?: { impersonateEmail?: string; keyFile?: string; scopes?: string[]; }): GmailClient; /** * Read emails from a specific sender * * @param config - Client configuration including clientId and clientSecret * @param refreshToken - OAuth2 refresh token * @param fromEmail - Email address to filter by sender * @param options - Additional options * @returns Promise resolving to a list of emails */ export declare function readEmails(config: GmailClientConfig, refreshToken: string, fromEmail: string, options?: Omit<EmailQueryOptions, 'q'>): Promise<EmailListResponse>; /** * Read a specific email by ID * * @param config - Client configuration including clientId and clientSecret * @param refreshToken - OAuth2 refresh token * @param emailId - ID of the email to retrieve * @param options - Options for retrieving the email * @returns Promise resolving to the email details */ export declare function readEmail(config: GmailClientConfig, refreshToken: string, emailId: string, options?: EmailReadOptions): Promise<Email>; /** * Create a Gmail client with domain-wide delegation * * @param config - Client configuration including clientId (service account email) * @param keyFile - Service account key file content * @param impersonateEmail - Email address to impersonate * @param scopes - Optional scopes to request * @returns A configured GmailClient instance with domain-wide delegation */ export declare function createDelegatedGmailClient(config: GmailClientConfig, keyFile: string, impersonateEmail: string, scopes?: string[]): GmailClient; export { GmailClient }; export type { Email, EmailAttachment, EmailQueryOptions, EmailReadOptions, EmailListResponse, GmailClientConfig };