import { type FileCacheEntry } from "./fileCache.js"; export interface DriveFile { fileId: string; name: string; content: string; revision: string; mimeType: string; modifiedTime: string; } export interface WriteResult { fileId: string; revision: string; modifiedTime: string; } export declare class DriveClient { private readonly drive; private readonly folderId; constructor(); /** Verify auth and required folder are accessible. Called on server start. */ verifyAuth(): Promise; /** List all .md files in the wiki folder, returning cached metadata. */ listFiles(): Promise; /** Read a file by name, using cache for metadata but always fetching content. */ readFile(name: string): Promise; /** * Create a new file in the wiki folder. * Throws DrivePermissionError if a file with this name already exists. */ createFile(name: string, content: string): Promise; /** * Update an existing file with optimistic concurrency. * Caller must pass the revision they read; if it doesn't match current, * throws DriveConflictError. */ updateFile(fileId: string, content: string, seenRevision: string): Promise; /** Rename a file (used for move/archive). Does not delete. */ renameFile(fileId: string, newName: string): Promise; /** Ensure index.md and log.md exist; create them if missing. */ bootstrapWikiFiles(): Promise; getFolderId(): string; } export declare function getDriveClient(): DriveClient; //# sourceMappingURL=client.d.ts.map