import { Readable } from "node:stream"; import { TusDriver } from "@directus/storage"; import { ChunkedUploadContext, ReadOptions } from "@directus/types"; //#region src/index.d.ts type DriverGCSConfig = { root?: string; bucket: string; apiEndpoint?: string; tus?: { enabled: boolean; chunkSize?: number; }; }; declare class DriverGCS implements TusDriver { private root; private bucket; private readonly preferredChunkSize; constructor(config: DriverGCSConfig); private fullPath; private file; read(filepath: string, options?: ReadOptions): Promise; write(filepath: string, content: Readable): Promise; delete(filepath: string): Promise; stat(filepath: string): Promise<{ size: number; modified: Date; }>; exists(filepath: string): Promise; move(src: string, dest: string): Promise; copy(src: string, dest: string): Promise; list(prefix?: string): AsyncGenerator; get tusExtensions(): string[]; createChunkedUpload(filepath: string, context: ChunkedUploadContext): Promise; writeChunk(filepath: string, content: Readable, offset: number, context: ChunkedUploadContext): Promise; finishChunkedUpload(_filepath: string, _context: ChunkedUploadContext): Promise; deleteChunkedUpload(filepath: string, _context: ChunkedUploadContext): Promise; } //#endregion export { DriverGCS, DriverGCS as default, DriverGCSConfig };