import { DataSource } from 'typeorm';
import { BoundSql } from '../BoundSql';
export declare abstract class Dialect {
    REPLACE_ORDER_BY: RegExp;
    /**
     * 获取查总数的sql
     *
     * @param sql 原始SQL
     * @return 分页 count SQL
     */
    getCountSql(sql: string): string;
    /**
     * 根据数据源连接匹配
     *
     * @param dataSource 数据源连接
     * @return 是否匹配
     */
    abstract match(dataSource: DataSource): boolean;
    /**
     * 获取分页sql
     *
     * @param sql      原始SQL
     * @param boundSql boundSql对象
     * @param offset   跳过条数
     * @param limit    限制条数
     * @return 返回分页SQL
     */
    abstract getPageSql(sql: string, boundSql: BoundSql, offset: number, limit: number): string;
}
