UNPKG

systemprompt-mcp-interview

Version:

A specialized Model Context Protocol (MCP) server that enables AI-powered interview roleplay scenarios

46 lines (45 loc) 1.98 kB
import { GoogleBaseService } from "./google-base-service.js"; import { gmail_v1 } from "googleapis/build/src/apis/gmail/v1.js"; import { EmailMetadata, SendEmailOptions, DraftEmailOptions } from "../types/gmail-types.js"; export declare class GmailService extends GoogleBaseService { private gmail; private labelCache; private gmailInitPromise; constructor(); private initializeGmailClient; private ensureInitialized; private loadLabels; private parseEmailAddress; private getMessageMetadata; private extractEmailMetadata; listMessages(maxResults?: number): Promise<EmailMetadata[]>; getMessage(messageId: string): Promise<EmailMetadata & { body: string; }>; searchMessages(query: string, maxResults?: number): Promise<EmailMetadata[]>; getLabels(): Promise<gmail_v1.Schema$Label[]>; private createEmailRaw; sendEmail(options: SendEmailOptions): Promise<string>; createDraft(options: DraftEmailOptions): Promise<string>; updateDraft(options: DraftEmailOptions): Promise<string>; listDrafts(maxResults?: number): Promise<EmailMetadata[]>; deleteDraft(draftId: string): Promise<void>; getDraft(draftId: string): Promise<EmailMetadata & { body: string; }>; modifyMessage(messageId: string, options: { addLabelIds?: string[]; removeLabelIds?: string[]; }): Promise<EmailMetadata>; trashMessage(messageId: string): Promise<void>; untrashMessage(messageId: string): Promise<void>; deleteMessage(messageId: string): Promise<void>; createLabel(name: string, options?: { textColor?: string; backgroundColor?: string; messageListVisibility?: "hide" | "show"; labelListVisibility?: "labelHide" | "labelShow" | "labelShowIfUnread"; }): Promise<gmail_v1.Schema$Label>; deleteLabel(labelId: string): Promise<void>; replyEmail(messageId: string, body: string, isHtml?: boolean): Promise<string>; }