import { ComKey, Coordinate, Item, PriKey } from "@fjell/types"; import { Storage } from '@google-cloud/storage'; import { PathBuilder } from './PathBuilder'; import { FileProcessor } from './FileProcessor'; import { Options } from './Options'; import { FileReference, SignedUrlOptions, UploadFileOptions } from './types/Files'; /** * File operations interface */ export interface FileOperations, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never> { uploadFile(key: PriKey | ComKey, label: string, filename: string, content: Buffer, options?: UploadFileOptions): Promise; downloadFile(key: PriKey | ComKey, label: string, filename: string): Promise; deleteFile(key: PriKey | ComKey, label: string, filename: string): Promise; listFiles(key: PriKey | ComKey, label?: string): Promise; getSignedUrl(key: PriKey | ComKey, label: string, filename: string, options?: SignedUrlOptions): Promise; } /** * Create file operations implementation */ export declare function createFileOperations, S extends string, L1 extends string = never, L2 extends string = never, L3 extends string = never, L4 extends string = never, L5 extends string = never>(storage: Storage, bucketName: string, pathBuilder: PathBuilder, fileProcessor: FileProcessor, coordinate: Coordinate, options: Options): FileOperations;