///
///
///
declare module 'chargebee' {
export interface ItemEntitlement {
id: string;
item_id?: string;
item_type?: 'plan' | 'addon' | 'charge' | 'subscription' | 'item';
feature_id?: string;
feature_name?: string;
value?: string;
name?: string;
}
export namespace ItemEntitlement {
export class ItemEntitlementResource {
itemEntitlementsForItem(
item_id: string,
input?: ItemEntitlementsForItemInputParam,
headers?: ChargebeeRequestHeader,
): Promise>;
itemEntitlementsForFeature(
feature_id: string,
input?: ItemEntitlementsForFeatureInputParam,
headers?: ChargebeeRequestHeader,
): Promise>;
addItemEntitlements(
feature_id: string,
input: AddItemEntitlementsInputParam,
headers?: ChargebeeRequestHeader,
): Promise>;
upsertOrRemoveItemEntitlementsForItem(
item_id: string,
input: UpsertOrRemoveItemEntitlementsForItemInputParam,
headers?: ChargebeeRequestHeader,
): Promise<
ChargebeeResponse
>;
}
export interface ItemEntitlementsForItemResponse {
list: { item_entitlement: ItemEntitlement }[];
next_offset?: string;
}
export interface ItemEntitlementsForFeatureResponse {
list: { item_entitlement: ItemEntitlement }[];
next_offset?: string;
}
export interface AddItemEntitlementsResponse {
list: { item_entitlement: ItemEntitlement }[];
}
export interface UpsertOrRemoveItemEntitlementsForItemResponse {
list: { item_entitlement: ItemEntitlement }[];
}
// REQUEST PARAMS
//---------------
export interface ItemEntitlementsForItemInputParam {
limit?: number;
offset?: string /**
* @deprecated Please refer API docs to use other attributes
*/;
include_drafts?: boolean /**
* @deprecated Please refer API docs to use other attributes
*/;
embed?: string;
}
export interface ItemEntitlementsForFeatureInputParam {
limit?: number;
offset?: string /**
* @deprecated Please refer API docs to use other attributes
*/;
include_drafts?: boolean;
}
export interface AddItemEntitlementsInputParam {
action: ActionEnum;
item_entitlements?: ItemEntitlementsAddItemEntitlementsInputParam[];
}
export interface UpsertOrRemoveItemEntitlementsForItemInputParam {
action: ActionEnum;
item_entitlements?: ItemEntitlementsUpsertOrRemoveItemEntitlementsForItemInputParam[];
}
export interface ItemEntitlementsAddItemEntitlementsInputParam {
item_id: string;
item_type?: 'plan' | 'addon' | 'charge' | 'subscription' | 'item';
value?: string;
}
export interface ItemEntitlementsUpsertOrRemoveItemEntitlementsForItemInputParam {
feature_id: string;
value?: string;
}
}
}