/// /// /// declare module 'chargebee' { export interface UnbilledCharge { id?: string; customer_id?: string; subscription_id?: string; date_from?: number; date_to?: number; unit_amount?: number; pricing_model?: PricingModelEnum; quantity?: number; amount?: number; currency_code: string; discount_amount?: number; description?: string; entity_type: | 'adhoc' | 'plan_item_price' | 'addon_item_price' | 'charge_item_price' | 'plan_setup' | 'plan' | 'addon'; entity_id?: string; is_voided: boolean; voided_at?: number; unit_amount_in_decimal?: string; quantity_in_decimal?: string; amount_in_decimal?: string; created_at?: number; updated_at: number; tiers?: UnbilledCharge.Tier[]; is_advance_charge?: boolean; business_entity_id?: string; deleted: boolean; } export namespace UnbilledCharge { export class UnbilledChargeResource { createUnbilledCharge( input: CreateUnbilledChargeInputParam, headers?: ChargebeeRequestHeader, ): Promise>; create( input: CreateInputParam, headers?: ChargebeeRequestHeader, ): Promise>; invoiceUnbilledCharges( input?: InvoiceUnbilledChargesInputParam, headers?: ChargebeeRequestHeader, ): Promise>; delete( unbilled_charge_id: string, headers?: ChargebeeRequestHeader, ): Promise>; list( input?: ListInputParam, headers?: ChargebeeRequestHeader, ): Promise>; invoiceNowEstimate( input?: InvoiceNowEstimateInputParam, headers?: ChargebeeRequestHeader, ): Promise>; } export interface CreateUnbilledChargeResponse { unbilled_charges: UnbilledCharge[]; } export interface CreateResponse { unbilled_charges: UnbilledCharge[]; } export interface InvoiceUnbilledChargesResponse { invoices: Invoice[]; } export interface DeleteResponse { unbilled_charge: UnbilledCharge; } export interface ListResponse { list: { unbilled_charge: UnbilledCharge }[]; next_offset?: string; } export interface InvoiceNowEstimateResponse { estimate: Estimate; } export interface Tier { starting_unit: number; ending_unit?: number; quantity_used: number; unit_amount: number; starting_unit_in_decimal?: string; ending_unit_in_decimal?: string; quantity_used_in_decimal?: string; unit_amount_in_decimal?: string; pricing_type?: 'per_unit' | 'flat_fee' | 'package'; package_size?: number; } // REQUEST PARAMS //--------------- export interface CreateUnbilledChargeInputParam { subscription_id: string; currency_code?: string; addons?: AddonsCreateUnbilledChargeInputParam[]; charges?: ChargesCreateUnbilledChargeInputParam[]; tax_providers_fields?: TaxProvidersFieldsCreateUnbilledChargeInputParam[]; } export interface CreateInputParam { subscription_id: string; currency_code?: string; item_prices?: ItemPricesCreateInputParam[]; item_tiers?: ItemTiersCreateInputParam[]; charges?: ChargesCreateInputParam[]; tax_providers_fields?: TaxProvidersFieldsCreateInputParam[]; } export interface InvoiceUnbilledChargesInputParam { subscription_id?: string; customer_id?: string; } export interface ListInputParam { limit?: number; offset?: string; include_deleted?: boolean; is_voided?: boolean; subscription_id?: filter.String; customer_id?: filter.String; } export interface InvoiceNowEstimateInputParam { subscription_id?: string; customer_id?: string; } export interface ChargesCreateUnbilledChargeInputParam { amount?: number; amount_in_decimal?: string; description?: string; taxable?: boolean; tax_profile_id?: string; avalara_tax_code?: string; hsn_code?: string; taxjar_product_code?: string; avalara_sale_type?: AvalaraSaleTypeEnum; avalara_transaction_type?: number; avalara_service_type?: number; date_from?: number; date_to?: number; } export interface AddonsCreateUnbilledChargeInputParam { id?: string; quantity?: number; unit_price?: number; quantity_in_decimal?: string; unit_price_in_decimal?: string; date_from?: number; date_to?: number; } export interface TaxProvidersFieldsCreateUnbilledChargeInputParam { provider_name?: string; field_id?: string; field_value?: string; } export interface ChargesCreateInputParam { amount?: number; amount_in_decimal?: string; description?: string; taxable?: boolean; tax_profile_id?: string; avalara_tax_code?: string; hsn_code?: string; taxjar_product_code?: string; avalara_sale_type?: AvalaraSaleTypeEnum; avalara_transaction_type?: number; avalara_service_type?: number; date_from?: number; date_to?: number; } export interface ItemTiersCreateInputParam { item_price_id?: string; starting_unit?: number; ending_unit?: number; price?: number; starting_unit_in_decimal?: string; ending_unit_in_decimal?: string; price_in_decimal?: string; pricing_type?: PricingTypeEnum; package_size?: number; } export interface ItemPricesCreateInputParam { item_price_id?: string; quantity?: number; quantity_in_decimal?: string; unit_price?: number; unit_price_in_decimal?: string; date_from?: number; date_to?: number; } export interface TaxProvidersFieldsCreateInputParam { provider_name?: string; field_id?: string; field_value?: string; } } }