import { z } from 'zod'; import { type docs_v1, type drive_v3, type gmail_v1, type slides_v1, type forms_v1, type sheets_v4, type calendar_v3 } from 'googleapis'; import { type FastMCP } from 'fastmcp'; export type FastMCPSessionAuth = Record | undefined; export type FastMCPServer = FastMCP; export type DocsClient = docs_v1.Docs; export type DriveClient = drive_v3.Drive; export type SheetsClient = sheets_v4.Sheets; export type GmailClient = gmail_v1.Gmail; export type CalendarClient = calendar_v3.Calendar; export type SlidesClient = slides_v1.Slides; export type FormsClient = forms_v1.Forms; export type StructuralElement = docs_v1.Schema$StructuralElement; export type ParagraphElement = docs_v1.Schema$ParagraphElement; export type Paragraph = docs_v1.Schema$Paragraph; export type DocsTable = docs_v1.Schema$Table; export type TableRow = docs_v1.Schema$TableRow; export type TableCell = docs_v1.Schema$TableCell; export type TextRun = docs_v1.Schema$TextRun; export type DriveComment = drive_v3.Schema$Comment; export type DriveReply = drive_v3.Schema$Reply; export type MessagePart = gmail_v1.Schema$MessagePart; export type PageElement = slides_v1.Schema$PageElement; export type SlidesRequest = slides_v1.Schema$Request; export type FormsQuestion = forms_v1.Schema$Question; export interface DocumentContent { body?: { content?: StructuralElement[]; }; } /** RGB color with values in 0-1 range (Google API format) */ export interface RgbColor { red: number; green: number; blue: number; } export declare const hexColorRegex: RegExp; export declare const validateHexColor: (color: string) => boolean; /** * Converts hex color string to RGB color object (0-1 range) * Supports both 3-char (#RGB) and 6-char (#RRGGBB) formats */ export declare function hexToRgbColor(hex: string): RgbColor | null; export declare const AccountParameter: z.ZodObject<{ account: z.ZodString; }, "strip", z.ZodTypeAny, { account: string; }, { account: string; }>; export declare const DocumentIdParameter: z.ZodObject<{ documentId: z.ZodString; }, "strip", z.ZodTypeAny, { documentId: string; }, { documentId: string; }>; export declare const AccountDocumentParameters: z.ZodObject<{ account: z.ZodString; } & { documentId: z.ZodString; }, "strip", z.ZodTypeAny, { account: string; documentId: string; }, { account: string; documentId: string; }>; export declare const RangeParameters: z.ZodEffects, { startIndex: number; endIndex: number; }, { startIndex: number; endIndex: number; }>; export declare const OptionalRangeParameters: z.ZodEffects; endIndex: z.ZodOptional; }, "strip", z.ZodTypeAny, { startIndex?: number | undefined; endIndex?: number | undefined; }, { startIndex?: number | undefined; endIndex?: number | undefined; }>, { startIndex?: number | undefined; endIndex?: number | undefined; }, { startIndex?: number | undefined; endIndex?: number | undefined; }>; export declare const TextFindParameter: z.ZodObject<{ textToFind: z.ZodString; matchInstance: z.ZodDefault>; }, "strip", z.ZodTypeAny, { textToFind: string; matchInstance: number; }, { textToFind: string; matchInstance?: number | undefined; }>; export declare const TextStyleParameters: z.ZodObject<{ bold: z.ZodOptional; italic: z.ZodOptional; underline: z.ZodOptional; strikethrough: z.ZodOptional; fontSize: z.ZodOptional; fontFamily: z.ZodOptional; foregroundColor: z.ZodOptional>; backgroundColor: z.ZodOptional>; linkUrl: z.ZodOptional; removeLink: z.ZodOptional; }, "strip", z.ZodTypeAny, { bold?: boolean | undefined; italic?: boolean | undefined; underline?: boolean | undefined; strikethrough?: boolean | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; foregroundColor?: string | undefined; backgroundColor?: string | undefined; linkUrl?: string | undefined; removeLink?: boolean | undefined; }, { bold?: boolean | undefined; italic?: boolean | undefined; underline?: boolean | undefined; strikethrough?: boolean | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; foregroundColor?: string | undefined; backgroundColor?: string | undefined; linkUrl?: string | undefined; removeLink?: boolean | undefined; }>; export type TextStyleArgs = z.infer; export declare const ParagraphStyleParameters: z.ZodObject<{ alignment: z.ZodOptional>; indentStart: z.ZodOptional; indentEnd: z.ZodOptional; spaceAbove: z.ZodOptional; spaceBelow: z.ZodOptional; namedStyleType: z.ZodOptional>; keepWithNext: z.ZodOptional; }, "strip", z.ZodTypeAny, { alignment?: "START" | "END" | "CENTER" | "JUSTIFIED" | undefined; indentStart?: number | undefined; indentEnd?: number | undefined; spaceAbove?: number | undefined; spaceBelow?: number | undefined; namedStyleType?: "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6" | undefined; keepWithNext?: boolean | undefined; }, { alignment?: "START" | "END" | "CENTER" | "JUSTIFIED" | undefined; indentStart?: number | undefined; indentEnd?: number | undefined; spaceAbove?: number | undefined; spaceBelow?: number | undefined; namedStyleType?: "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6" | undefined; keepWithNext?: boolean | undefined; }>; export type ParagraphStyleArgs = z.infer; export declare const ApplyTextStyleToolParameters: z.ZodObject<{ account: z.ZodString; } & { documentId: z.ZodString; } & { target: z.ZodUnion<[z.ZodEffects, { startIndex: number; endIndex: number; }, { startIndex: number; endIndex: number; }>, z.ZodObject<{ textToFind: z.ZodString; matchInstance: z.ZodDefault>; }, "strip", z.ZodTypeAny, { textToFind: string; matchInstance: number; }, { textToFind: string; matchInstance?: number | undefined; }>]>; style: z.ZodEffects; italic: z.ZodOptional; underline: z.ZodOptional; strikethrough: z.ZodOptional; fontSize: z.ZodOptional; fontFamily: z.ZodOptional; foregroundColor: z.ZodOptional>; backgroundColor: z.ZodOptional>; linkUrl: z.ZodOptional; removeLink: z.ZodOptional; }, "strip", z.ZodTypeAny, { bold?: boolean | undefined; italic?: boolean | undefined; underline?: boolean | undefined; strikethrough?: boolean | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; foregroundColor?: string | undefined; backgroundColor?: string | undefined; linkUrl?: string | undefined; removeLink?: boolean | undefined; }, { bold?: boolean | undefined; italic?: boolean | undefined; underline?: boolean | undefined; strikethrough?: boolean | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; foregroundColor?: string | undefined; backgroundColor?: string | undefined; linkUrl?: string | undefined; removeLink?: boolean | undefined; }>, { bold?: boolean | undefined; italic?: boolean | undefined; underline?: boolean | undefined; strikethrough?: boolean | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; foregroundColor?: string | undefined; backgroundColor?: string | undefined; linkUrl?: string | undefined; removeLink?: boolean | undefined; }, { bold?: boolean | undefined; italic?: boolean | undefined; underline?: boolean | undefined; strikethrough?: boolean | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; foregroundColor?: string | undefined; backgroundColor?: string | undefined; linkUrl?: string | undefined; removeLink?: boolean | undefined; }>; }, "strip", z.ZodTypeAny, { account: string; documentId: string; target: { startIndex: number; endIndex: number; } | { textToFind: string; matchInstance: number; }; style: { bold?: boolean | undefined; italic?: boolean | undefined; underline?: boolean | undefined; strikethrough?: boolean | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; foregroundColor?: string | undefined; backgroundColor?: string | undefined; linkUrl?: string | undefined; removeLink?: boolean | undefined; }; }, { account: string; documentId: string; target: { startIndex: number; endIndex: number; } | { textToFind: string; matchInstance?: number | undefined; }; style: { bold?: boolean | undefined; italic?: boolean | undefined; underline?: boolean | undefined; strikethrough?: boolean | undefined; fontSize?: number | undefined; fontFamily?: string | undefined; foregroundColor?: string | undefined; backgroundColor?: string | undefined; linkUrl?: string | undefined; removeLink?: boolean | undefined; }; }>; export type ApplyTextStyleToolArgs = z.infer; export declare const ApplyParagraphStyleToolParameters: z.ZodObject<{ account: z.ZodString; } & { documentId: z.ZodString; } & { target: z.ZodUnion<[z.ZodEffects, { startIndex: number; endIndex: number; }, { startIndex: number; endIndex: number; }>, z.ZodObject<{ textToFind: z.ZodString; matchInstance: z.ZodDefault>; }, "strip", z.ZodTypeAny, { textToFind: string; matchInstance: number; }, { textToFind: string; matchInstance?: number | undefined; }>, z.ZodObject<{ indexWithinParagraph: z.ZodNumber; }, "strip", z.ZodTypeAny, { indexWithinParagraph: number; }, { indexWithinParagraph: number; }>]>; style: z.ZodEffects>; indentStart: z.ZodOptional; indentEnd: z.ZodOptional; spaceAbove: z.ZodOptional; spaceBelow: z.ZodOptional; namedStyleType: z.ZodOptional>; keepWithNext: z.ZodOptional; }, "strip", z.ZodTypeAny, { alignment?: "START" | "END" | "CENTER" | "JUSTIFIED" | undefined; indentStart?: number | undefined; indentEnd?: number | undefined; spaceAbove?: number | undefined; spaceBelow?: number | undefined; namedStyleType?: "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6" | undefined; keepWithNext?: boolean | undefined; }, { alignment?: "START" | "END" | "CENTER" | "JUSTIFIED" | undefined; indentStart?: number | undefined; indentEnd?: number | undefined; spaceAbove?: number | undefined; spaceBelow?: number | undefined; namedStyleType?: "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6" | undefined; keepWithNext?: boolean | undefined; }>, { alignment?: "START" | "END" | "CENTER" | "JUSTIFIED" | undefined; indentStart?: number | undefined; indentEnd?: number | undefined; spaceAbove?: number | undefined; spaceBelow?: number | undefined; namedStyleType?: "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6" | undefined; keepWithNext?: boolean | undefined; }, { alignment?: "START" | "END" | "CENTER" | "JUSTIFIED" | undefined; indentStart?: number | undefined; indentEnd?: number | undefined; spaceAbove?: number | undefined; spaceBelow?: number | undefined; namedStyleType?: "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6" | undefined; keepWithNext?: boolean | undefined; }>; }, "strip", z.ZodTypeAny, { account: string; documentId: string; target: { startIndex: number; endIndex: number; } | { textToFind: string; matchInstance: number; } | { indexWithinParagraph: number; }; style: { alignment?: "START" | "END" | "CENTER" | "JUSTIFIED" | undefined; indentStart?: number | undefined; indentEnd?: number | undefined; spaceAbove?: number | undefined; spaceBelow?: number | undefined; namedStyleType?: "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6" | undefined; keepWithNext?: boolean | undefined; }; }, { account: string; documentId: string; target: { startIndex: number; endIndex: number; } | { textToFind: string; matchInstance?: number | undefined; } | { indexWithinParagraph: number; }; style: { alignment?: "START" | "END" | "CENTER" | "JUSTIFIED" | undefined; indentStart?: number | undefined; indentEnd?: number | undefined; spaceAbove?: number | undefined; spaceBelow?: number | undefined; namedStyleType?: "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6" | undefined; keepWithNext?: boolean | undefined; }; }>; export type ApplyParagraphStyleToolArgs = z.infer; /** Google OAuth client configuration (installed or web app) */ export interface OAuthClientConfig { client_id: string; client_secret: string; redirect_uris?: string[]; auth_uri?: string; token_uri?: string; project_id?: string; } /** Google OAuth credentials file format */ export interface OAuthCredentialsFile { installed?: OAuthClientConfig; web?: OAuthClientConfig; } /** Parsed OAuth credentials with required fields */ export interface ParsedOAuthCredentials { client_id: string; client_secret: string; redirect_uris: string[]; } /** OAuth token response/storage format */ export interface OAuthTokenData { access_token?: string; refresh_token?: string; scope?: string; token_type?: string; expiry_date?: number; } /** Google Service Account key file format */ export interface ServiceAccountKey { type: string; project_id: string; private_key_id: string; private_key: string; client_email: string; client_id: string; auth_uri: string; token_uri: string; auth_provider_x509_cert_url: string; client_x509_cert_url: string; } export declare class NotImplementedError extends Error { constructor(message?: string); } /** Common options shared by all tool registration functions */ export interface BaseToolOptions { server: FastMCPServer; getAccountEmail: (accountName: string) => Promise; } /** Options for registering Docs tools */ export interface DocsToolOptions extends BaseToolOptions { getDocsClient: (accountName: string) => Promise; getDriveClient: (accountName: string) => Promise; } /** Options for registering Drive tools */ export interface DriveToolOptions extends BaseToolOptions { getDriveClient: (accountName: string) => Promise; getDocsClient: (accountName: string) => Promise; } /** Options for registering Sheets tools */ export interface SheetsToolOptions extends BaseToolOptions { getSheetsClient: (accountName: string) => Promise; getDriveClient: (accountName: string) => Promise; } /** Options for registering Gmail tools */ export interface GmailToolOptions extends BaseToolOptions { getGmailClient: (accountName: string) => Promise; getDriveClient: (accountName: string) => Promise; } /** Options for registering Calendar tools */ export interface CalendarToolOptions extends BaseToolOptions { getCalendarClient: (accountName: string) => Promise; } /** Options for registering Slides tools */ export interface SlidesToolOptions extends BaseToolOptions { getSlidesClient: (accountName: string) => Promise; getDriveClient: (accountName: string) => Promise; } /** Options for registering Forms tools */ export interface FormsToolOptions extends BaseToolOptions { getFormsClient: (accountName: string) => Promise; getDriveClient: (accountName: string) => Promise; } /** Options for registering Excel tools */ export interface ExcelToolOptions extends BaseToolOptions { getDriveClient: (accountName: string) => Promise; } //# sourceMappingURL=types.d.ts.map