///
import { BFastOptions } from '../bfast-database.option';
import { Storage } from "../models/storage";
import { Request, Response } from 'express';
export declare abstract class FilesAdapter {
canHandleFileStream: boolean;
isS3: boolean;
abstract init(options: BFastOptions): Promise;
abstract createFile(name: string, size: number, data: Buffer, contentType: string, pN: boolean, options: BFastOptions): Promise;
abstract deleteFile(id: string, options: BFastOptions): Promise<{
id: string;
}>;
abstract getFileData(name: string, asStream: boolean, options: BFastOptions): Promise;
abstract getFileLocation(id: string, config: BFastOptions): Promise;
abstract handleFileStream(name: string, req: Request, res: Response, contentType: any, options: BFastOptions): any;
abstract signedUrl(id: string, options: BFastOptions): Promise;
abstract listFiles(query: {
prefix: string;
size: number;
skip: number;
after: string;
}, options: BFastOptions): Promise;
abstract validateFilename(id: string, options: BFastOptions): Promise;
abstract fileInfo(name: string, options: BFastOptions): Promise;
}