import { type Client } from '../core.js'; import { type RequestOptions } from '../lib/types.js'; import type { ListPlanAddonsRequest, ListPlanAddonsResponse, CreatePlanAddonRequest, CreatePlanAddonResponse, GetPlanAddonRequest, GetPlanAddonResponse, UpdatePlanAddonRequest, UpdatePlanAddonResponse, DeletePlanAddonRequest, DeletePlanAddonResponse } from '../models/operations/planAddons.js'; import type { PlanAddon } from '../models/types.js'; export declare class PlanAddons { private readonly _client; constructor(_client: Client); /** * List add-ons for plan * * List add-ons associated with a plan. * * GET /openmeter/plans/{planId}/addons */ list(request: ListPlanAddonsRequest, options?: RequestOptions): Promise; /** * List add-ons for plan * * List add-ons associated with a plan. * * Iterates every item across all pages, fetching more as the returned iterable is consumed. * * GET /openmeter/plans/{planId}/addons */ listAll(request: ListPlanAddonsRequest, options?: RequestOptions): AsyncIterable; /** * Add add-on to plan * * Add an add-on to a plan. * * POST /openmeter/plans/{planId}/addons */ create(request: CreatePlanAddonRequest, options?: RequestOptions): Promise; /** * Get add-on association for plan * * Get an add-on association for a plan. * * GET /openmeter/plans/{planId}/addons/{planAddonId} */ get(request: GetPlanAddonRequest, options?: RequestOptions): Promise; /** * Update add-on association for plan * * Update an add-on association for a plan. * * PUT /openmeter/plans/{planId}/addons/{planAddonId} */ update(request: UpdatePlanAddonRequest, options?: RequestOptions): Promise; /** * Remove add-on from plan * * Remove an add-on from a plan. * * DELETE /openmeter/plans/{planId}/addons/{planAddonId} */ delete(request: DeletePlanAddonRequest, options?: RequestOptions): Promise; }