///
///
///
declare module 'chargebee' {
export interface ItemFamily {
[key: string]: unknown;
id: string;
name: string;
description?: string;
status?: 'active' | 'deleted';
resource_version?: number;
updated_at?: number;
channel?: ChannelEnum;
business_entity_id?: string;
deleted: boolean;
}
export namespace ItemFamily {
export class ItemFamilyResource {
create(
input: CreateInputParam,
headers?: ChargebeeRequestHeader,
): Promise>;
retrieve(
item_family_id: string,
headers?: ChargebeeRequestHeader,
): Promise>;
list(
input?: ListInputParam,
headers?: ChargebeeRequestHeader,
): Promise>;
update(
item_family_id: string,
input?: UpdateInputParam,
headers?: ChargebeeRequestHeader,
): Promise>;
delete(
item_family_id: string,
headers?: ChargebeeRequestHeader,
): Promise>;
}
export interface CreateResponse {
item_family: ItemFamily;
}
export interface RetrieveResponse {
item_family: ItemFamily;
}
export interface ListResponse {
list: { item_family: ItemFamily }[];
next_offset?: string;
}
export interface UpdateResponse {
item_family: ItemFamily;
}
export interface DeleteResponse {
item_family: ItemFamily;
}
// REQUEST PARAMS
//---------------
export interface CreateInputParam {
id: string;
name: string;
description?: string;
business_entity_id?: string;
[key: `cf_${string}`]: unknown;
}
export interface ListInputParam {
limit?: number;
offset?: string;
id?: filter.String;
name?: filter.String;
updated_at?: filter.Timestamp;
business_entity_id?: filter.String;
include_site_level_resources?: filter.Boolean;
[key: `cf_${string}`]: unknown;
}
export interface UpdateInputParam {
name?: string;
description?: string;
[key: `cf_${string}`]: unknown;
}
}
}