import { ObjectID, GridFSBucket } from 'mongodb'; import { Store } from './store'; export declare type GridFsStore = Store & { gridfs: GridFSBucket; }; export declare type MetadataFile = { filename: string; _id: ObjectID; length: number; chunkSize: number; uploadDate: Date; md5: string; contentType: string; aliases: string[]; metadata: any; }; export declare type FileRepository = { insertFileAsync: (filepath: string | Buffer, mimeType: string, filename?: string) => Promise; replaceFileAsync: (filepath: string | Buffer, filename: string, mimeType?: string) => Promise; findMetadataAsync: (fileId: string) => Promise; getAllMetadataAsync: (fileIds: string[]) => Promise; getFilestreamAsync: (fileId: ObjectID) => Promise; deleteFileAsync: (fileId: ObjectID) => Promise; deleteFilesAsync: (fileIds: string[]) => Promise; }; export declare function createFileRepository(store: GridFsStore): FileRepository;