import { AppCredentials, BFastConfig } from "./conf";
import { StorageController } from "./controllers/storage.controller";
import { AuthController } from "./controllers/auth.controller";
import { CacheController } from "./controllers/cache.controller";
import { BfastDatabase } from "./bfast.database";
import { BfastFunctions } from "./bfast.functions";
/**
 * Created and maintained by FahamuTech Ltd Company
 * @maintained FahamuTech ( fahamutechdevelopers@gmail.com )
 */
/**
 *
 * @param options
 * @param appName {string} application name for multiple apps access
 */
export declare function init(options: AppCredentials, appName?: string): void;
/**
 * get configuration  of a specific app
 * @param appName
 */
export declare function getConfig(appName?: string): BFastConfig;
/**
 *
 * @param appName other app/project name other than DEFAULT to work with
 * @return BfastDatabase - Controller for perming database operations
 */
export declare function database(appName?: string): BfastDatabase;
/**
 *
 * @param appName other app/project name to work with
 */
export declare function functions(appName?: string): BfastFunctions;
/**
 * get cache instance to work with when work in a browser
 * @param options
 * @param appName other app/project name to work with
 */
export declare function cache(options?: {
    database: string;
    collection: string;
}, appName?: string): CacheController;
/**
 * get auth instance to work with authentication and authorization
 * @param appName other app/project name to work with
 */
export declare function auth(appName?: string): AuthController;
/**
 * access to storage instance from your bfast::database project
 * @param appName
 */
export declare function storage(appName?: string): StorageController;
