import { type Client } from '../core.js'; import { type RequestOptions } from '../lib/types.js'; import type { ListCurrenciesRequest, ListCurrenciesResponse, CreateCustomCurrencyRequest, CreateCustomCurrencyResponse, GetCustomCurrencyRequest, GetCustomCurrencyResponse, ListCostBasesRequest, ListCostBasesResponse, CreateCostBasisRequest, CreateCostBasisResponse } from '../models/operations/currencies.js'; import type { CostBasis, Currency } from '../models/types.js'; export declare class Currencies { private readonly _client; constructor(_client: Client); /** * List currencies * * List currencies supported by the billing system. * * GET /openmeter/currencies */ list(request?: ListCurrenciesRequest, options?: RequestOptions): Promise; /** * List currencies * * List currencies supported by the billing system. * * Iterates every item across all pages, fetching more as the returned iterable is consumed. * * GET /openmeter/currencies */ listAll(request?: ListCurrenciesRequest, options?: RequestOptions): AsyncIterable; /** * Create custom currency * * Create a custom currency. This operation allows defining your own custom * currency for billing purposes. * * POST /openmeter/currencies/custom */ createCustomCurrency(request: CreateCustomCurrencyRequest, options?: RequestOptions): Promise; /** * Get custom currency * * Get a custom currency. * * GET /openmeter/currencies/custom/{currencyId} */ getCustomCurrency(request: GetCustomCurrencyRequest, options?: RequestOptions): Promise; /** * List cost bases * * List cost bases for a currency. For custom currencies, there can be multiple * cost bases with different `effective_from` dates. * * GET /openmeter/currencies/custom/{currencyId}/cost-bases */ listCostBases(request: ListCostBasesRequest, options?: RequestOptions): Promise; /** * List cost bases * * List cost bases for a currency. For custom currencies, there can be multiple * cost bases with different `effective_from` dates. * * Iterates every item across all pages, fetching more as the returned iterable is consumed. * * GET /openmeter/currencies/custom/{currencyId}/cost-bases */ listCostBasesAll(request: ListCostBasesRequest, options?: RequestOptions): AsyncIterable; /** * Create cost basis * * Create a cost basis for a currency. * * POST /openmeter/currencies/custom/{currencyId}/cost-bases */ createCostBasis(request: CreateCostBasisRequest, options?: RequestOptions): Promise; }