import type { Client } from 'openapi-fetch'; import type { RequestOptions } from './common.js'; import type { operations, paths } from './schemas.js'; export declare class SubscriptionAddons { private client; constructor(client: Client); /** * Create a new subscription addon * @param subscriptionId - The ID of the subscription * @param addon - The subscription addon to create * @param options - Optional request options * @returns The created subscription addon */ create(subscriptionId: string, addon: operations['createSubscriptionAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; readonly activeFrom: Date; readonly activeTo?: Date; addon: { id: string; readonly key: string; readonly version: number; readonly instanceType: import("./schemas.js").components["schemas"]["AddonInstanceType"]; }; readonly quantityAt: Date; quantity: number; readonly timeline: import("./schemas.js").components["schemas"]["SubscriptionAddonTimelineSegment"][]; readonly subscriptionId: string; readonly rateCards: import("./schemas.js").components["schemas"]["SubscriptionAddonRateCard"][]; } | undefined>; /** * List all addons of a subscription * @param subscriptionId - The ID of the subscription * @param options - Optional request options * @returns A list of subscription addons */ list(subscriptionId: string, options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; readonly activeFrom: Date; readonly activeTo?: Date; addon: { id: string; readonly key: string; readonly version: number; readonly instanceType: import("./schemas.js").components["schemas"]["AddonInstanceType"]; }; readonly quantityAt: Date; quantity: number; readonly timeline: import("./schemas.js").components["schemas"]["SubscriptionAddonTimelineSegment"][]; readonly subscriptionId: string; readonly rateCards: import("./schemas.js").components["schemas"]["SubscriptionAddonRateCard"][]; }[] | undefined>; /** * Get a subscription addon by id * @param subscriptionId - The ID of the subscription * @param subscriptionAddonId - The ID of the subscription addon * @param options - Optional request options * @returns The subscription addon */ get(subscriptionId: string, subscriptionAddonId: string, options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; readonly activeFrom: Date; readonly activeTo?: Date; addon: { id: string; readonly key: string; readonly version: number; readonly instanceType: import("./schemas.js").components["schemas"]["AddonInstanceType"]; }; readonly quantityAt: Date; quantity: number; readonly timeline: import("./schemas.js").components["schemas"]["SubscriptionAddonTimelineSegment"][]; readonly subscriptionId: string; readonly rateCards: import("./schemas.js").components["schemas"]["SubscriptionAddonRateCard"][]; } | undefined>; /** * Updates a subscription addon * @param subscriptionId - The ID of the subscription * @param subscriptionAddonId - The ID of the subscription addon to update * @param addon - The subscription addon data to update * @param options - Optional request options * @returns The updated subscription addon */ update(subscriptionId: string, subscriptionAddonId: string, addon: operations['updateSubscriptionAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.js").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; readonly activeFrom: Date; readonly activeTo?: Date; addon: { id: string; readonly key: string; readonly version: number; readonly instanceType: import("./schemas.js").components["schemas"]["AddonInstanceType"]; }; readonly quantityAt: Date; quantity: number; readonly timeline: import("./schemas.js").components["schemas"]["SubscriptionAddonTimelineSegment"][]; readonly subscriptionId: string; readonly rateCards: import("./schemas.js").components["schemas"]["SubscriptionAddonRateCard"][]; } | undefined>; }