import { AxiosInstance, AxiosRequestConfig } from "axios";
import { ApiRequest, ApiResponse, GetConfigInfoResponse } from "./Dto";
export declare type Options = {
    /**
     * 接口根地址
     */
    url: string;
    appId: string;
    appSecret: string;
    /**
     * 默认1.0.0
     */
    version?: string;
    /**
     * 默认zh-CN
     */
    lang?: string;
    /**
     * 默认10秒
     */
    timeout?: number;
};
/**
 * 统一接口客户端
 */
export declare class ApiClient {
    readonly axiosInstance: AxiosInstance;
    constructor(opts: Options);
    post<T = any, D = ApiRequest>(url: string, data?: D, config?: AxiosRequestConfig & {
        apiDesc?: string;
    }): Promise<ApiResponse<T>>;
    /**
     * 发起请求并验证返回值resCode=0是否成功，如果非成功会抛出 {@link UniteApiError} 异常
     * @param url
     * @param data
     * @param config
     * @returns
     */
    postAndCheckRes<T = any, D = ApiRequest>(url: string, data?: D, config?: AxiosRequestConfig & {
        apiDesc?: string;
    }): Promise<ApiResponse<T>>;
    /**
     * 2.0.1获取平台配置信息
     */
    getConfigInfo(): Promise<GetConfigInfoResponse>;
    /**
     * SQL通道-list
     * @param timeout 超时时间(毫秒)，默认10秒
     * @returns
     */
    list<T = any>(sql: string, parkId: number | string, timeout?: number): Promise<T[]>;
    /**
     * SQL通道-selectOne
     */
    selectOne<T = any>(sql: string, parkId: number | string, timeout?: number): Promise<T>;
    /**
     * SQL通道-execute
     */
    execute(sql: string | string[], parkId: number | string, openTx?: 1 | 0): Promise<ApiResponse<any>>;
}
