import { RequestContext } from '../context/request.context';
import { SQLRequestResultType } from '../base/reqest.data';
import { BaseRouteRawWrapper } from './base.route.raw.wrapper';
import { WrapperResult } from './base.wrapper';
declare class ScriptItem {
    name: SQLRequestResultType;
    sql: string;
    args?: any[];
    total?: string;
    page?: number;
    pageSize?: number;
}
/**
 * 动态执行 `SQL` 请求数据加工基类
 */
export declare class BaseRouteSqlWrapper extends BaseRouteRawWrapper {
    private readonly TAG;
    private checkTable;
    private scriptErr;
    private deleteScript;
    private insertScript;
    private updateScript;
    private insertUpdateScript;
    private queryScript;
    executeRequest(context: RequestContext): Promise<WrapperResult<any | undefined>>;
    /** 执行SQL脚本 */
    executeScript(script: ScriptItem[], transaction?: boolean): Promise<any>;
    private getPageCount;
    /**
     * 生成批量插入脚本
     */
    private _batchInsert;
    /**
     * 生成批量插入脚本
     */
    private _batchInsertUpdate;
    /**
     * 生成插入脚本
     */
    private _insert;
    /**
     * 生成更新脚本
     */
    private _update;
    private _insertUpdate;
    private getEntityKeys;
    /**
     * 获取数据对象对应的列信息
     * @param entity 数据对象
     * @param allowInsert 列必须允许插入, 排除掉不允许插入的列
     * @param allowUpdate 列必须允许更新, 排除掉不允许更新的列
     * @returns
     */
    private getColumns;
}
export {};
