import { AppCredentials } from "../conf";
import { TransactionModel } from "../models/TransactionModel";
import { QueryModel } from "../models/QueryModel";
import { UpdateModel } from "../models/UpdateOperation";
import { AuthController } from "./auth.controller";
import { RequestOptions } from "./query.controller";
export declare class RulesController {
    private readonly authController;
    constructor(authController: AuthController);
    createRule(domain: string, data: any, appCredential: AppCredentials, options?: RequestOptions): Promise<Object>;
    deleteRule(domain: string, query: QueryModel, appCredential: AppCredentials, options?: RequestOptions): Promise<Object>;
    updateRule(domain: string, query: QueryModel, updateModel: UpdateModel, upsert: boolean, appCredential: AppCredentials, options?: RequestOptions): Promise<Object>;
    updateManyRule(domain: string, payload: {
        query: QueryModel;
        update: UpdateModel;
    }[], appCredential: AppCredentials, options?: RequestOptions): Promise<Object>;
    aggregateRule(domain: string, pipeline: any[], appCredentials: AppCredentials, options?: RequestOptions): Promise<Object>;
    queryRule(domain: string, queryModel: QueryModel, appCredentials: AppCredentials, options?: RequestOptions): Promise<Object>;
    transaction(transactions: TransactionModel[], appCredentials: AppCredentials, options?: RequestOptions): Promise<Object>;
    storage(action: 'save' | 'list' | 'delete', payload: any, appCredentials: AppCredentials, options?: RequestOptions): Promise<Object>;
    addToken(rule: any): Promise<any>;
}
