/// /// /// declare module 'chargebee' { export interface PriceVariant { id: string; name: string; external_name?: string; variant_group?: string; description?: string; status?: 'active' | 'archived' | 'deleted'; created_at: number; resource_version?: number; updated_at?: number; archived_at?: number; attributes?: PriceVariant.Attribute[]; business_entity_id?: string; deleted: boolean; } export namespace PriceVariant { export class PriceVariantResource { create( input: CreateInputParam, headers?: ChargebeeRequestHeader, ): Promise>; retrieve( price_variant_id: string, headers?: ChargebeeRequestHeader, ): Promise>; update( price_variant_id: string, input: UpdateInputParam, headers?: ChargebeeRequestHeader, ): Promise>; delete( price_variant_id: string, headers?: ChargebeeRequestHeader, ): Promise>; list( input?: ListInputParam, headers?: ChargebeeRequestHeader, ): Promise>; } export interface CreateResponse { price_variant: PriceVariant; } export interface RetrieveResponse { price_variant: PriceVariant; } export interface UpdateResponse { price_variant: PriceVariant; } export interface DeleteResponse { price_variant: PriceVariant; } export interface ListResponse { list: { price_variant: PriceVariant }[]; next_offset?: string; } export interface Attribute { name: string; value: string; } // REQUEST PARAMS //--------------- export interface CreateInputParam { id: string; name: string; external_name?: string; description?: string; variant_group?: string; business_entity_id?: string; attributes?: AttributesCreateInputParam[]; } export interface UpdateInputParam { name?: string; external_name?: string; description?: string; variant_group?: string; status?: 'active' | 'archived'; attributes?: AttributesUpdateInputParam[]; } export interface ListInputParam { limit?: number; offset?: string; id?: filter.String; name?: filter.String; status?: filter.Enum; updated_at?: filter.Timestamp; created_at?: filter.Timestamp; business_entity_id?: filter.String; include_site_level_resources?: filter.Boolean; 'sort_by[asc]'?: string; 'sort_by[desc]'?: string; } export interface AttributesCreateInputParam { name: string; value: string; } export interface AttributesUpdateInputParam { name: string; value: string; } } }