import { EcpayResponse, IssueB2CInvoiceParams, IssueB2CInvoiceResult, RevokeB2CInvoiceResult, IssueB2CAllowanceParams, IssueB2CAllowanceResult, RevokeB2CAllowanceResult } from ".";
declare class EcpayInvoiceClient {
    apiEndpoint: string;
    merchantId: string;
    hashKey: string;
    hashIV: string;
    constructor(params: {
        merchantId: string;
        hashKey: string;
        hashIV: string;
        env: "sandbox" | "production";
    });
    private encryptPostData;
    private decryptResponseData;
    issueB2CInvoice(params: IssueB2CInvoiceParams): Promise<EcpayResponse<IssueB2CInvoiceResult>>;
    revokeB2CInvoice(InvoiceNo: string, InvoiceDate: string, Reason: string): Promise<EcpayResponse<RevokeB2CInvoiceResult>>;
    issueB2CAllowance(params: IssueB2CAllowanceParams): Promise<EcpayResponse<IssueB2CAllowanceResult>>;
    revokeB2CAllowance(InvoiceNo: string, AllowanceNo: string, Reason: string): Promise<EcpayResponse<RevokeB2CAllowanceResult>>;
    private queryB2CApi;
}
export default EcpayInvoiceClient;
