import { IContractV2ForList } from './contract.types'; import { IPaginatedResults, JSONObject } from './types'; export type IInvoice = { id: string; organization_id: string; organisation_id: string; invoice_id: string; contract_execution_id: string; customer_id: string; currency: string; customer: { id: string; name: string; email: string | null; external_id: string | null; }; contract_id: string; contract: IContractV2ForList; info_key: string; invoice_number: string; period_begin_date: string; period_end_date: string; status: EInvoiceStatus; actor: string; edit_execution_id: string | null; created_at: string; updated_at: Date; last_updated_at: string; total_adjustments?: number; invoice_total: number; applied_balance: number | null; discount_total?: number; payment_url: string | null; payment_term_type: string | null; due_period: number | null; due_date: string | null; external_id: string | null; partial_payment_enabled: boolean; invoice_pdf: string | null; amount_due: number | null; auto_charge_enabled: boolean; include_payment_link: boolean; sent_at: string | null; paid_at: string | null; approved_at: string | null; custom_attributes: JSONObject; bill_for_date?: string; invoice_date: string; use_wallet_balance: boolean; document_id?: string | null; document_name?: string | null; default_payment_method: { connector_name: string | null; details: unknown; status: string | null; type: string | null; is_default: boolean | null; }; is_customer_auto_chargeable: boolean; business_entity_id: string; invoice_components: unknown[]; line_items: unknown[]; }; export declare enum EInvoiceStatus { PAID = "paid", APPROVED = "approved", PARTIALLY_PAID = "partially_paid" } export type IInvoicesList = IPaginatedResults;