import { Invoice, InvoiceAwardType, InvoiceState, TaxType } from '@rytass/invoice';
import { ECPayInvoiceAllowance } from './ecpay-allowance';
import { ECPayInvoiceOptions, ECPayPaymentItem } from './typings';
export declare class ECPayInvoice implements Invoice<ECPayPaymentItem> {
    readonly invoiceNumber: string;
    readonly randomCode: string;
    readonly issuedOn: Date;
    readonly issuedAmount: number;
    readonly orderId: string;
    readonly taxType: TaxType;
    readonly items: ECPayPaymentItem[];
    readonly allowances: ECPayInvoiceAllowance[];
    state: InvoiceState;
    voidOn: Date | null;
    nowAmount: number;
    awardType?: InvoiceAwardType;
    constructor(options: ECPayInvoiceOptions);
    setVoid(): void;
    addAllowance(allowance: ECPayInvoiceAllowance): Promise<void>;
}
