import { SaveLogger } from '../base/logger';
import { LogLevel } from '../model/log.leval';
import { RequestContext } from './request.context';
/**
 * API 请求上下文
 */
export declare class APIRequestContext extends RequestContext {
    private _logger;
    private _reqId?;
    private hasRelease;
    private readonly startTime;
    private readonly package;
    private static _hostName?;
    private _logList?;
    private _sqlList?;
    private transDuration?;
    constructor(logger?: SaveLogger, loggerPackage?: boolean);
    /** 异常信息 */
    error?: any;
    get reqId(): string | undefined;
    /** 租户ID、客户ID */
    get tid(): string | undefined;
    /** 用户ID */
    get uid(): string | undefined;
    /** 设备ID */
    get esn(): string | undefined;
    /** 用户 token */
    get token(): string | undefined;
    private get logger();
    /** 写日志 */
    log(level: LogLevel, data?: any | any[]): void;
    /** SQL日志 */
    logSQL(sql: string, values?: any[]): number;
    /** 通知SQL执行完成 */
    notifySqlExecuteFinish(index: number, time: number): void;
    /** 通知SQL执行完成 */
    notifySqlTransactionFinish(time: number): void;
    /** 请求结束时触发 */
    release(result?: any | undefined): void;
    private getClientIP;
}
