import { HttpClientAdapter } from "../adapters/HttpClientAdapter";
import { RulesController } from "./RulesController";
import { AuthController } from "./AuthController";
import { FileOptions, RequestOptions } from "./QueryController";
import { FileModel } from "../models/file.model";
export declare class StorageController {
    private readonly restApi;
    private readonly auth;
    private readonly rulesController;
    private readonly appName;
    constructor(restApi: HttpClientAdapter, auth: AuthController, rulesController: RulesController, appName?: string);
    save(file: FileModel, uploadProgress: (progress: any) => void, options?: FileOptions): Promise<string>;
    list(query?: {
        keyword?: string;
        size?: number;
        skip?: number;
        after?: string;
    }, options?: RequestOptions): Promise<any[]>;
    delete(filename: string, options?: RequestOptions): Promise<string>;
    private _handleFileRuleRequest;
    private _fileUploadRequest;
    private _handleFileUploadInNode;
    private _handleFileUploadInWeb;
}
