import { type Client } from '../core.js'; import { type RequestOptions } from '../lib/types.js'; import type { ListPlansRequest, ListPlansResponse, CreatePlanRequest, CreatePlanResponse, UpdatePlanRequest, UpdatePlanResponse, GetPlanRequest, GetPlanResponse, DeletePlanRequest, DeletePlanResponse, ArchivePlanRequest, ArchivePlanResponse, PublishPlanRequest, PublishPlanResponse } from '../models/operations/plans.js'; import type { Plan } from '../models/types.js'; export declare class Plans { private readonly _client; constructor(_client: Client); /** * List plans * * List all plans. * * GET /openmeter/plans */ list(request?: ListPlansRequest, options?: RequestOptions): Promise; /** * List plans * * List all plans. * * Iterates every item across all pages, fetching more as the returned iterable is consumed. * * GET /openmeter/plans */ listAll(request?: ListPlansRequest, options?: RequestOptions): AsyncIterable; /** * Create plan * * Create a new plan. * * POST /openmeter/plans */ create(request: CreatePlanRequest, options?: RequestOptions): Promise; /** * Update plan * * Update a plan by id. * * PUT /openmeter/plans/{planId} */ update(request: UpdatePlanRequest, options?: RequestOptions): Promise; /** * Get plan * * Get a plan by id. * * GET /openmeter/plans/{planId} */ get(request: GetPlanRequest, options?: RequestOptions): Promise; /** * Delete plan * * Delete a plan by id. * * DELETE /openmeter/plans/{planId} */ delete(request: DeletePlanRequest, options?: RequestOptions): Promise; /** * Archive plan version * * Archive a plan version. * * POST /openmeter/plans/{planId}/archive */ archive(request: ArchivePlanRequest, options?: RequestOptions): Promise; /** * Publish plan version * * Publish a plan version. * * POST /openmeter/plans/{planId}/publish */ publish(request: PublishPlanRequest, options?: RequestOptions): Promise; }