///
///
///
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;
}
}
}