import { Merchant } from './Merchant';
import { TradeInfoQueryParams, CreditCardPeriodInfoQueryParams, TradeNoAioQueryParams, TradeV2QueryParams, FundingReconDetailQueryParams, PaymentInfoQueryParams, CreditCardPeriodInfoData, PaymentInfoData, TradeInfoData, TradeV2Data } from '../types';
export declare class Query<T> {
    merchant: Merchant;
    params: T;
    apiUrl?: string;
    _params?: object;
    responseDataEncoding?: 'utf8' | 'Big5';
    constructor(merchant: Merchant, params: T);
    _read<T>(): Promise<T>;
}
export declare class TradeInfoQuery extends Query<TradeInfoQueryParams> {
    _params: TradeInfoQueryParams & {
        TimeStamp: number;
        PlatformID?: string;
    };
    constructor(merchant: Merchant, params: TradeInfoQueryParams);
    read(): Promise<TradeInfoData>;
}
export declare class PaymentInfoQuery extends Query<PaymentInfoQueryParams> {
    _params: PaymentInfoQueryParams & {
        TimeStamp: number;
        PlatformID?: string;
    };
    constructor(merchant: Merchant, params: TradeInfoQueryParams);
    read(): Promise<PaymentInfoData>;
}
export declare class CreditCardPeriodInfoQuery extends Query<CreditCardPeriodInfoQueryParams> {
    _params: CreditCardPeriodInfoQueryParams & {
        TimeStamp: number;
        PlatformID?: string;
    };
    constructor(merchant: Merchant, params: CreditCardPeriodInfoQueryParams);
    read(): Promise<CreditCardPeriodInfoData>;
}
export declare class TradeV2Query extends Query<TradeV2QueryParams> {
    _params: TradeV2QueryParams;
    constructor(merchant: Merchant, params: TradeV2QueryParams);
    read(): Promise<TradeV2Data>;
}
export declare class TradeNoAioQuery extends Query<TradeNoAioQueryParams> {
    _params: TradeNoAioQueryParams;
    constructor(merchant: Merchant, params: TradeNoAioQueryParams);
    read(): Promise<string>;
}
export declare class FundingReconDetailQuery extends Query<FundingReconDetailQueryParams> {
    _params: FundingReconDetailQueryParams;
    constructor(merchant: Merchant, params: FundingReconDetailQueryParams);
    read(): Promise<string>;
}
