import { ApiRequestBase, ApiResponse } from './TyApiCommon';
import { AxiosRequestConfig } from 'axios';
/**
 * 统一对内接口客户端
 *
 * ```ts
 * import { Singleton, Inject } from "typescript-ioc";
 * import { IService } from "mslib"
 * import { TyApi, TyExternalApi, ApiResponse, TyInternalApiClient } from "refs/nslib";
 *
 * export class PostCarInInfo implements IService {
 *    //去掉注释
 *    //@Inject
 *    internalApiClient:TyInternalApiClient;
 *
 *    //去掉注释
 *    //@TyApi.Service()
 *    async doService(input: TyExternalApi.PostCarInInfoInput): Promise<ApiResponse> {
 *        let row = await this.internalApiClient.carLeave({
 *
 *        });
 *
 *        return ApiResponse.success;
 *    }
 * }
 * ```
 */
export default class TyInternalApiClient {
    post(url: string, data?: any, config?: AxiosRequestConfig): Promise<ApiResponse>;
    /**
     * 2.2.7 获取图片存储根地址
     */
    getImageBaseUrl(request: {
        parkId: any;
        serviceCode?: 'GetImageBaseUrl';
    }): Promise<ApiResponse>;
    /**
     * 2.4.1 入口识别车牌修改
     */
    carInModify(request: {
        parkId: any;
        nodeId: any;
        serial: any;
        carStyle: '';
        carNo: any;
        carNo2?: any;
        carNoColor?: any;
        imgName?: any;
        userId?: any;
        serviceCode: 'CarInModify';
    }): Promise<ApiResponse>;
    /**
     * 2.4.6 在场车辆清理
     */
    carLeave(request: CarLeaveRequest): Promise<ApiResponse>;
    /**
 * 2.4.9 下发服务时间
 */
    pushServiceDate(request: PushServiceDateRequest): Promise<ApiResponse>;
    /**
     * 2.4.12 出口识别车牌修改
     */
    carOutModify(request: {
        parkId: any;
        nodeId: any;
        deviceIp?: string;
        serial: any;
        carStyle?: any;
        carNo?: any;
        carNo2?: any;
        carNoColor?: any;
        carBrand?: any;
        imgName?: any;
        operName?: any;
        recogEnable?: any;
        carOutTime?: any;
        /**
         * 修改项 0-车牌 1-车型  2-车牌颜色 3-车辆品来
         */
        modifyItem: number;
        serviceCode: 'CarOutModify';
    }): Promise<ApiResponse>;
    /**
     * 2.5.4 内部车修改有效期
     */
    modifyValidTime(request: ModifyValidTimeRequest): Promise<ApiResponse>;
    /**
    * 2.11.1 预约车退款状态回调
    */
    parkingBookingRefundCallback(request: ReqBookingRefund): Promise<ApiResponse>;
    /**
     * 2.13.2 重新统计汇总报表
     */
    reStatistics(request: ReStatisticsRequest): Promise<ApiResponse>;
    /**
     * 2.14.1 非标表历史数据迁移备份
     */
    nsReportBackup(request: ReStatisticsRequest): Promise<ApiResponse>;
    /**
     * SAAS统一接口协议-2.16.1系统公告推送
     */
    addSysNotice(request: {
        parkId: any;
        serviceCode: 'addSysNotice';
        allRole: string;
        classId: string;
        content: string;
        enabledTimeStart: string;
        enabledTimeEnd: string;
        lotIds: any;
        lotVersion: string;
        sendStatus: any;
        spLot: string;
        title: string;
    }): Promise<ApiResponse<string>>;
    /**
     * SAAS统一接口协议-停车场云助手app模板消息发送
     */
    messageSend(request: {
        parkId: any;
        serviceCode: 'saasMessageSend';
        templateId: string;
        parmMap: any;
        appLinkUrl?: string;
        pcLinkUrl?: string;
    }): Promise<ApiResponse<string>>;
    /**
     * MQ透传接口
     */
    msgToLocal(request: any, config: AxiosRequestConfig): Promise<ApiResponse<string>>;
    /**
     * 3.1
     * 通道接口
     * 这是一个大类接口，子接口见ChannelApi
     */
    channelSend(request: ChannelSendReuqst): Promise<ApiResponse>;
    /**
     * SQL通道查询单条数据
     */
    selectOne(request: SelectOneRequest): Promise<any>;
    /**
     * SQL通道查询多条数据
     */
    list(request: ListRequest): Promise<[]>;
    /**
     * SQL通道批量执行语句
     * @returns
     */
    execute(request: ExecuteRequest): Promise<ApiResponse>;
}
export declare class GetNodeStatusListRequest extends ApiRequestBase {
    /**
     * 通道类型 默认全部,1进口,2出口,3中间入口,4中间出口
     */
    nodeType?: number;
}
export declare class CarLeaveRequest extends ApiRequestBase {
    billId?: string;
    cardNo?: string;
    carNo?: string;
}
export declare class PushServiceDateRequest extends ApiRequestBase {
    /**
     * 服务时间 yyyy-MM-dd HH:mm:ss
     */
    serviceDate: string;
    accountDate?: string;
    sysVersion?: string;
}
export declare class ModifyValidTimeRequest extends ApiRequestBase {
    cardId: string;
    beginTime: string;
    endTime: string;
    userId?: string;
    userName?: string;
}
export declare class ReStatisticsRequest extends ApiRequestBase {
    readonly serviceCode = "InnerReStatistics";
    /**
     * 开始时间(yyyy-MM-dd)
     */
    startDate: string;
    /**
     * 截止时间(yyyy-MM-dd)
     */
    endDate: string;
    remark: string;
    /**
     * 是否延迟汇总(第二天执行汇总任务)，默认是
     */
    isDelay?: boolean;
    /**
     * 统计类型，1：收入日报，2：车流日报，3：全部统计
     */
    statisticType: 1 | 2 | 3;
}
export declare class ReqBookingRefund extends ApiRequestBase {
    readonly serviceCode = "parkingBookingRefundCallback";
    /**
     * 订单号
     */
    orderNo: string;
    /**
     * 退款状态 0未退款 1退款中 2退款成功 3退款失败
     */
    status: number;
    /**
         * 退款时间 yyyy-MM-dd HH:mm:ss
         */
    refundTime: string;
    /**
     * 退款金额（分）
     */
    refundAmount: number;
}
export declare class ChannelSendReuqst<T = any> extends ApiRequestBase {
    cmd: string;
    data: T;
}
export declare class SelectOneRequest extends ApiRequestBase {
    sql: string;
}
export declare class ListRequest extends ApiRequestBase {
    sql: string;
}
export declare class ExecuteRequest extends ApiRequestBase {
    sqlList: string[];
    /**
     * 是否开启事务,1是，0否
     */
    openTx?: 1 | 0;
}
export { TyInternalApiClient };
