export declare enum Account_Status { Normal = 1, PendingToDeleted = 2, Deleted = 3 } export interface IAccount { id: string; uid: string; name: string; email: string; status: Account_Status; } export interface ISubscription { id: string; uid: string; name: string; credits: number; plan: ISubscriptionPlan; lastInvoice: string; isTrial: boolean; trialEndsAt: Date; invoicingData: ISubscriptionInvoicingData; createdAt: Date; updatedAt?: Date; deletedAt?: Date; } export interface shoppingCart { items: []; } export interface ISubscriptionPlan { usersLimit: number; usersType: "BASIC" | "PRO"; annualBilling: false; nextRenovation: Date; products: ISubscriptionProduct[]; emailsPack: ISubscriptionProduct; smsShortNumberEnabled: boolean; apiQrChannelsCount: number; } export interface ISubscriptionProduct { name: string; quantity: number; price: number; expiresAt: Date; } export interface ISubscriptionInvoicingData { country: string; businessName: string; street: string; streetNumber: string; city: string; zip: string; businessID: string; taxID: string; vatID: string; cuit: string; } export interface IInvoiceBalance { balanceAmount: number; } export interface IInvoice { id: string; uid: string; subscriptionId: string; subscriptionName: string; invoiceNumber: string; status: InvoiceStatus; items: []; amount: number; dueDate?: Date; paymentDate?: Date; paymentMethod?: string; createdAt: Date; } export declare enum InvoiceStatus { /**The invoice isn’t ready. All invoices start in draft status. */ DRAFT = 0, /**Invoice has been sent to the customer*/ SENT = 1, /**Invoice has been paid by the customer */ PAID = 2, /**Invoice has past the payment date and the customer hasn’t paid yet */ OVERDUE = 3, /**You will void an invoice if it has been raised incorrectly. Customers cannot pay for a voided invoice. This invoice is canceled.*/ VOID = 4, /**The customer is unlikely to pay the invoice. Normally, you treat it as bad debt in your accounting process. */ UNCOLLECTIBLE = 5 }