import { type Client } from '../core.js'; import { type Result, type RequestOptions } from '../lib/types.js'; import type { ListBillingProfilesRequest, ListBillingProfilesResponse, CreateBillingProfileRequest, CreateBillingProfileResponse, GetBillingProfileRequest, GetBillingProfileResponse, UpdateBillingProfileRequest, UpdateBillingProfileResponse, DeleteBillingProfileRequest, DeleteBillingProfileResponse } from '../models/operations/billing.js'; /** * List billing profiles * * List billing profiles. * * GET /openmeter/profiles */ export declare function listBillingProfiles(client: Client, req?: ListBillingProfilesRequest, options?: RequestOptions): Promise>; /** * Create a new billing profile * * Create a new billing profile. * * Billing profiles contain the settings for billing and controls invoice * generation. An organization can have multiple billing profiles defined. A * billing profile is linked to a specific app. This association is established * during the billing profile's creation and remains immutable. * * POST /openmeter/profiles */ export declare function createBillingProfile(client: Client, req: CreateBillingProfileRequest, options?: RequestOptions): Promise>; /** * Get a billing profile * * Get a billing profile. * * GET /openmeter/profiles/{id} */ export declare function getBillingProfile(client: Client, req: GetBillingProfileRequest, options?: RequestOptions): Promise>; /** * Update a billing profile * * Update a billing profile. * * PUT /openmeter/profiles/{id} */ export declare function updateBillingProfile(client: Client, req: UpdateBillingProfileRequest, options?: RequestOptions): Promise>; /** * Delete a billing profile * * Delete a billing profile. * * Only such billing profiles can be deleted that are: * * - not the default profile * - not pinned to any customer using customer overrides * - only have finalized invoices * * DELETE /openmeter/profiles/{id} */ export declare function deleteBillingProfile(client: Client, req: DeleteBillingProfileRequest, options?: RequestOptions): Promise>;