import { Amount } from '../../../commonStateTypes/amount'; import { ID } from '../../../commonStateTypes/common'; import { ZeniDate } from '../../../zeniDayJS'; import { InvoicingPriceType } from '../invoicingCommonPayload'; import { InvoicingCreditNoteStatus, InvoicingCreditNoteType } from './creditNoteTypes'; export interface InvoicingCreditNoteLineItem { amount: Amount; description: string; quantity: number; unitAmount: Amount; entityType?: string; id?: ID; } export interface InvoicingCreditNoteAllocation { allocatedAmount: Amount; invoiceID: ID; invoiceNumber: string; allocatedAt?: ZeniDate; } export interface InvoicingCreditNote { id: ID; allocations?: InvoicingCreditNoteAllocation[]; amountAllocated?: Amount; amountAvailable?: Amount; amountRefunded?: Amount; createdAt?: ZeniDate; createReasonCode?: string; creditNoteNumber?: string; currencyCode?: string; customerID?: ID; customerName?: string; date?: ZeniDate; lineItems?: InvoicingCreditNoteLineItem[]; linkedRefunds?: ID[]; notes?: string; priceType?: InvoicingPriceType; reasonCode?: string; referenceInvoiceID?: ID; referenceInvoiceNumber?: string; status?: InvoicingCreditNoteStatus; subscriptionID?: ID; subTotal?: Amount; total?: Amount; type?: InvoicingCreditNoteType; } export interface InvoicingCreditNoteState { creditNoteByID: Record; }