import { QueryController, RequestOptions } from "./query.controller";
import { RulesController } from "./rules.controller";
import { HttpClientController } from "./http-client.controller";
import { AuthController } from "./auth.controller";
export declare class DatabaseController {
    private readonly domainName;
    private readonly httpClientController;
    private readonly rulesController;
    private readonly authController;
    private readonly appName;
    constructor(domainName: string, httpClientController: HttpClientController, rulesController: RulesController, authController: AuthController, appName: string);
    save<T>(model: T | T[], options?: RequestOptions): Promise<T>;
    getAll<T>(query?: {
        size?: number;
        skip?: number;
        hashes?: string[];
        cids?: boolean;
    }, options?: RequestOptions): Promise<T[]>;
    get<T>(id: string, hash?: string, options?: RequestOptions): Promise<T>;
    query(): QueryController;
    static _getErrorMessage(e: any): any;
}
