import { FunctionsModel } from '../model/functions.model';
import { StorageApiModel } from '../model/storage-api.model';
import { RestController } from "../controllers/rest.controller";
import { SecurityController } from "../controllers/security.controller";
import { DatabaseController } from "../controllers/database.controller";
import { AuthController } from "../controllers/auth.controller";
import { StorageController } from "../controllers/storage.controller";
import { DatabaseAdapter } from "../adapters/database.adapter";
import { FilesAdapter } from "../adapters/files.adapter";
import { BFastDatabaseOptions } from "../bfast-database.option";
import { RulesController } from "../controllers/rules.controller";
import { UpdateRuleController } from "../controllers/update.rule.controller";
import { AuthAdapter } from "../adapters/auth.adapter";
export declare class WebServices {
    private readonly restController;
    private readonly rulesController;
    private readonly updateRuleController;
    private readonly securityController;
    private readonly databaseController;
    private readonly authController;
    private readonly storageController;
    private readonly authAdapter;
    private readonly databaseAdapter;
    private readonly filesAdapter;
    private readonly options;
    constructor(restController: RestController, rulesController: RulesController, updateRuleController: UpdateRuleController, securityController: SecurityController, databaseController: DatabaseController, authController: AuthController, storageController: StorageController, authAdapter: AuthAdapter, databaseAdapter: DatabaseAdapter, filesAdapter: FilesAdapter, options: BFastDatabaseOptions);
    storage(prefix?: string): StorageApiModel;
    realtime(config: {
        applicationId: string;
        masterKey: string;
    }, prefix?: string): {
        changes: {
            name: string;
            onEvent: any;
        };
    };
    rest(prefix?: string): {
        rules: FunctionsModel;
        jwk: FunctionsModel;
    };
}
