import { BaseModel } from '@/models/BaseModel'; import { InvoiceRequest, PayrexxField, BasketItem, MultiLanguageString, Currency, FieldType } from '@/types'; export declare class Invoice extends BaseModel implements InvoiceRequest { amount: number; currency: Currency; title?: string | MultiLanguageString; description?: string | MultiLanguageString; sku?: string; dueDate?: string; validity?: number; referenceId?: string; fields?: PayrexxField[]; basket?: BasketItem[]; psp?: number[]; pm?: string[]; subscriptionState?: boolean; subscriptionInterval?: string; subscriptionPeriod?: string; subscriptionCancellationInterval?: string; preAuthorization?: boolean; reservation?: boolean; successRedirectUrl?: string; failedRedirectUrl?: string; sendNotification?: boolean; notificationEmail?: string; lookAndFeelProfile?: string; design?: number; name?: string; purpose?: string | MultiLanguageString; buttonText?: string | MultiLanguageString; vatRate?: number; concardisOrderId?: string; expirationDate?: string; constructor(data?: Partial); setAmount(amount: number): this; setCurrency(currency: Currency): this; setTitle(title: string | MultiLanguageString): this; setDescription(description: string | MultiLanguageString): this; setSku(sku: string): this; setDueDate(dueDate: string): this; setValidity(days: number): this; setReferenceId(referenceId: string): this; addCustomField(type: FieldType, defaultValue?: string, mandatory?: boolean, name?: string): this; setFields(fields: PayrexxField[]): this; addBasketItem(item: BasketItem): this; setBasket(basket: BasketItem[]): this; setPsp(psp: number[]): this; setPm(pm: string[]): this; setSubscriptionState(enabled: boolean): this; setSubscriptionInterval(interval: string): this; setSubscriptionPeriod(period: string): this; setSubscriptionCancellationInterval(interval: string): this; setPreAuthorization(enabled: boolean): this; setReservation(enabled: boolean): this; setSuccessRedirectUrl(url: string): this; setFailedRedirectUrl(url: string): this; setSendNotification(send: boolean): this; setNotificationEmail(email: string): this; setLookAndFeelProfile(profile: string): this; setDesign(designId: number): this; setName(name: string): this; setPurpose(purpose: string | MultiLanguageString): this; setButtonText(text: string | MultiLanguageString): this; setVatRate(rate: number): this; setConcardisOrderId(orderId: string): this; setExpirationDate(date: string): this; getApiEndpoint(): string; toApiFormat(): InvoiceRequest; } //# sourceMappingURL=Invoice.d.ts.map