/// <reference types="node" />
import { FilesAdapter } from '../adapters/files';
import { FileModel } from '../models/file-model';
import { BFastOptions } from '../bfast-option';
import { Buffer } from "buffer";
import { Request, Response } from 'express';
import { ListFileQuery, Storage } from "../models/storage";
import { ReadableStream } from "stream/web";
import { RuleContext } from "../models/rule-context";
export declare function getSource(base64: string, type: string): any;
export declare function saveFileInStore(fileModel: FileModel, _: RuleContext, filesAdapter: FilesAdapter, options: BFastOptions): Promise<string>;
export declare function checkStreamCapability(req: Request, filesController: FilesAdapter): boolean;
export declare function handleGetFileRequest(f: Storage<any>, width: number, height: number, thumbnail: boolean, filesAdapter: FilesAdapter, options: BFastOptions): Promise<Buffer | ReadableStream>;
export declare function listFilesFromStore(data: ListFileQuery, filesAdapter: FilesAdapter, options: BFastOptions): Promise<any[]>;
export declare function saveFromBuffer(fileModel: {
    data: Buffer;
    name: string;
    type: string;
    size: number;
}, context: RuleContext, filesAdapter: FilesAdapter, options: BFastOptions): Promise<string>;
export declare function deleteFileInStore(data: {
    name: string;
}, _: RuleContext, filesAdapter: FilesAdapter, options: BFastOptions): Promise<{
    id: string;
}>;
export declare function isS3(filesAdapter: FilesAdapter): boolean;
export declare function getTypeFromUrl(furl: string): any;
export declare function handleGetFileBySignedUrl<T>(name: string, width: number, height: number, thumbnail: boolean, filesAdapter: FilesAdapter, options: BFastOptions): Promise<Buffer | string>;
export declare function fileInfo(request: Request, response: Response, filesAdapter: FilesAdapter, options: BFastOptions): void;
