import { DbControllerModel } from './DbControllerModel';
import { IQueryData, QueryData } from './QueryData';
import { IModelRes, IModelRules, IDbControllerResult, TKey, TQueryCb } from '../interface';
export declare class DbController extends DbControllerModel {
    private _controller;
    constructor();
    setRules(rules: IModelRules[]): void;
    set primaryKeyName(primaryKey: TKey);
    get primaryKeyName(): TKey;
    set tableName(tableName: string);
    get tableName(): string;
    save(queryData: QueryData, isNew?: boolean): Promise<any>;
    isSelected(query: IQueryData | null): Promise<boolean>;
    update(updateQuery: QueryData): Promise<any>;
    insert(insertQuery: QueryData): Promise<any>;
    remove(removeQuery: QueryData): Promise<boolean>;
    query(callback: TQueryCb): any;
    validate(element: IQueryData | null): IQueryData;
    select(where: IQueryData | null, isOne?: boolean): Promise<IModelRes>;
    getValue(res: IModelRes): IDbControllerResult | null;
    destroy(): void;
    escapeString(text: string | number): string;
    isConnected(): Promise<boolean>;
}
