import type { drive_v3 } from '@googleapis/drive'; import type { File } from '../entities/File.js'; import { Permission } from '../entities/Permission.js'; /** * The REST `fields` selection backing the MCP toolset's `File` projection: * exactly what `projectFile` consumes for the toolset-published fields, so * tool outputs stay verbatim to the MCP pages. */ export declare const TOOL_FILE_FIELDS: string; /** * The methods' superset: the toolset fields plus the REST-vocabulary flags the * file methods write, so a write's effect is visible in its own output. */ export declare const METHOD_FILE_FIELDS = "id,name,parents,mimeType,size,description,fileExtension,webViewLink,sharedWithMeTime,createdTime,modifiedTime,viewedByMeTime,owners(emailAddress),capabilities(canAddChildren),starred,trashed,folderColorRgb,copyRequiresWriterPermission,writersCanShare"; /** * Project a REST file resource onto the File shape: `name` → `title`, * `parents[0]` → `parentId`, `owners[0].emailAddress` → `owner`, * `webViewLink` → `viewUrl`, `size` → `fileSize`, * `capabilities.canAddChildren` → `canAddChildren`; nulls clean to undefined. * `contentSnippet` is never populated: the REST API serves no snippet. */ export declare function projectFile(data: drive_v3.Schema$File): File; /** Project a REST permission onto the Permission shape; unknown enum values drop rather than masquerade. */ export declare function projectPermission(data: drive_v3.Schema$Permission): Permission; //# sourceMappingURL=file.d.ts.map