import { WhereOperate } from '../types';
export declare abstract class Operator {
    constructor();
    format(sql: string, values: any, stringifyObjects?: boolean, timeZone?: string): string;
    /**
     *
     * @param key
     * @param value
     */
    _matchWhereItem(key: string, value: WhereOperate | string | number | boolean | Array<any>): {
        sqls: string[];
        values: any[];
    };
    protected _where(where?: any): string;
    protected _selectColumns(table: string, columns?: string | string[]): string;
    protected _orders(orders?: string | string[]): string;
    protected _limit(limit?: number, offset?: number): string;
    escapeId(value: any, forbidQualified?: boolean): string;
    abstract query(sql: string, params?: any[] | object): Promise<any[] | any>;
}
