import type { Client } from 'openapi-fetch'; import type { RequestOptions } from './common.cjs'; import type { AddonCreate, operations, paths } from './schemas.cjs'; export declare class Addons { private client; constructor(client: Client); /** * Create a addon * @param addon - The addon to create * @param options - Optional request options * @returns The created addon */ create(addon: AddonCreate, options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; key: string; readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"]; readonly version: number; instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"]; currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"]; readonly effectiveFrom?: Date; readonly effectiveTo?: Date; readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"]; rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][]; readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null; } | undefined>; /** * List addons * @param params - Optional parameters for listing addons * @param options - Optional request options * @returns A list of addons */ list(params?: operations['listAddons']['parameters']['query'], options?: RequestOptions): Promise<{ totalCount: number; page: number; pageSize: number; items: import("./schemas.cjs").components["schemas"]["Addon"][]; } | undefined>; /** * Get an addon by ID * @param addonId - The ID of the addon to retrieve * @param options - Optional request options * @returns The addon */ get(addonId: string, options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; key: string; readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"]; readonly version: number; instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"]; currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"]; readonly effectiveFrom?: Date; readonly effectiveTo?: Date; readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"]; rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][]; readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null; } | undefined>; /** * Update an addon * @param addonId - The ID of the addon to update * @param addon - The addon data to update * @param options - Optional request options * @returns The updated addon */ update(addonId: string, addon: operations['updateAddon']['requestBody']['content']['application/json'], options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; key: string; readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"]; readonly version: number; instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"]; currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"]; readonly effectiveFrom?: Date; readonly effectiveTo?: Date; readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"]; rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][]; readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null; } | undefined>; /** * Delete an addon by ID * @param addonId - The ID of the addon to delete * @param options - Optional request options * @returns void or standard error response structure */ delete(addonId: string, options?: RequestOptions): Promise; /** * Publish an addon * @param addonId - The ID of the addon to publish * @param options - Optional request options * @returns The published addon */ publish(addonId: string, options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; key: string; readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"]; readonly version: number; instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"]; currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"]; readonly effectiveFrom?: Date; readonly effectiveTo?: Date; readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"]; rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][]; readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null; } | undefined>; /** * Archive an addon * @param addonId - The ID of the addon to archive * @param options - Optional request options * @returns The archived addon */ archive(addonId: string, options?: RequestOptions): Promise<{ readonly id: string; name: string; description?: string; metadata?: import("./schemas.cjs").components["schemas"]["Metadata"] | null; readonly createdAt: Date; readonly updatedAt: Date; readonly deletedAt?: Date; key: string; readonly annotations?: import("./schemas.cjs").components["schemas"]["Annotations"]; readonly version: number; instanceType: import("./schemas.cjs").components["schemas"]["AddonInstanceType"]; currency: import("./schemas.cjs").components["schemas"]["CurrencyCode"]; readonly effectiveFrom?: Date; readonly effectiveTo?: Date; readonly status: import("./schemas.cjs").components["schemas"]["AddonStatus"]; rateCards: import("./schemas.cjs").components["schemas"]["RateCard"][]; readonly validationErrors: import("./schemas.cjs").components["schemas"]["ValidationError"][] | null; } | undefined>; }