import { z } from 'zod'; /** * Field operator schema for Drive query fields that support multiple values * Supports OR ($any), AND ($all), and NOT ($none) operations */ export declare const FieldOperatorSchema: z.ZodObject<{ $any: z.ZodOptional>; $all: z.ZodOptional>; $none: z.ZodOptional>; }, z.core.$strict>; export type FieldOperator = z.infer; /** * Drive query object schema with recursive operators and Drive features. * * Includes Drive-specific features: * - name: Search by file/folder name (supports string or field operators) * - mimeType: Filter by MIME type (e.g., "application/pdf", "application/vnd.google-apps.folder") * - fullText: Search file content and metadata * - parentId: Search within specific folder (supports string or field operators) * - starred: Filter by starred status * - shared: Filter by shared status * - modifiedTime: Date range filtering with $gte and $lt * - owner: Filter by owner email (supports string or field operators) * - rawDriveQuery: Escape hatch for advanced Drive query syntax * * Logical operators: * - $and: Array of conditions that must ALL match (recursive) * - $or: Array of conditions where ANY must match (recursive) * - $not: Nested condition that must NOT match (recursive) * * Note: Cast through unknown to work around Zod's lazy schema type inference issue * with exactOptionalPropertyTypes. The runtime schema is correct; this cast ensures * TypeScript sees the strict DriveQueryObject type everywhere the schema is used. */ export declare const DriveQuerySchema: z.ZodType; export type DriveQueryObject = { $and?: DriveQueryObject[]; $or?: DriveQueryObject[]; $not?: DriveQueryObject; name?: string | FieldOperator; mimeType?: string | FieldOperator; fullText?: string | FieldOperator; parentId?: string | FieldOperator; starred?: boolean; sharedWithMe?: boolean; trashed?: boolean; modifiedTime?: { $gte?: string; $lt?: string; }; owner?: string | FieldOperator; rawDriveQuery?: string; }; export type DriveQuery = DriveQueryObject; /** * Drive query parameter schema that accepts either: * - A structured DriveQuery object with typed fields * - A JSON string representing that object * * This provides type safety for common queries while allowing * JSON string input from MCP clients when needed. */ export declare const DriveQueryParameterSchema: z.ZodType; export type DriveQueryParameter = z.infer; export declare function parseDriveQueryParameter(input: DriveQuery | string | undefined): DriveQuery | undefined;