import { AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig } from "axios";
import { ApiRequestBase, ApiResponse, GetConfigInfoResponse } from "./Dto";
declare type Option = {
    /**
     * 接口根地址
     */
    url: string;
    appId: string;
    appSecret: string;
    /**
     * 默认1.0.0
     */
    version?: string;
    /**
     * 默认zh-CN
     */
    lang?: string;
    /**
     * 默认10秒
     */
    timeout?: number;
    requestInterceptor?: {
        onFulfilled?: (value: InternalAxiosRequestConfig<any>) => InternalAxiosRequestConfig<any> | Promise<InternalAxiosRequestConfig<any>>;
        onRejected?: (error: any) => any;
    };
    responseInterceptor?: {
        onFulfilled?: (value: AxiosResponse<any, any>) => AxiosResponse<any, any> | Promise<AxiosResponse<any, any>>;
        onRejected?: (error: any) => any;
    };
};
/**
 * 统一接口客户端
 */
export declare class ApiClient {
    readonly axiosInstance: AxiosInstance;
    constructor(opts: Option);
    post<T = any, D = ApiRequestBase & {
        [key: string]: any;
    }>(url: string, data?: D, config?: AxiosRequestConfig & {
        [key: string]: any;
    }): Promise<ApiResponse<T>>;
    postAndCheckRes<T = any, D = ApiRequestBase & {
        [key: string]: any;
    }>(url: string, data?: D, config?: AxiosRequestConfig & {
        [key: string]: any;
    }): Promise<ApiResponse<T>>;
    /**
     * 2.0.1获取平台配置信息
     */
    getConfigInfo(): Promise<GetConfigInfoResponse>;
    /**
     * SQL通道-list
     */
    list(sql: string, parkId: number | string): Promise<any[]>;
    /**
     * SQL通道-selectOne
     */
    selectOne(sql: string, parkId: number | string): Promise<any>;
    /**
     * SQL通道-execute
     */
    execute(sql: string | string[], parkId: number | string, openTx?: 1 | 0): Promise<ApiResponse<any>>;
}
export {};
