import { type Client } from '../core.js'; import { type Result, type RequestOptions } from '../lib/types.js'; import type { CreateMeterRequest, CreateMeterResponse, GetMeterRequest, GetMeterResponse, ListMetersRequest, ListMetersResponse, UpdateMeterRequest, UpdateMeterResponse, DeleteMeterRequest, DeleteMeterResponse, QueryMeterRequest, QueryMeterResponse, QueryMeterCsvRequest, QueryMeterCsvResponse } from '../models/operations/meters.js'; /** * Create meter * * Create a meter. * * POST /openmeter/meters */ export declare function createMeter(client: Client, req: CreateMeterRequest, options?: RequestOptions): Promise>; /** * Get meter * * Get a meter by ID. * * GET /openmeter/meters/{meterId} */ export declare function getMeter(client: Client, req: GetMeterRequest, options?: RequestOptions): Promise>; /** * List meters * * List meters. * * GET /openmeter/meters */ export declare function listMeters(client: Client, req?: ListMetersRequest, options?: RequestOptions): Promise>; /** * Update meter * * Update a meter. * * PUT /openmeter/meters/{meterId} */ export declare function updateMeter(client: Client, req: UpdateMeterRequest, options?: RequestOptions): Promise>; /** * Delete meter * * Delete a meter. * * DELETE /openmeter/meters/{meterId} */ export declare function deleteMeter(client: Client, req: DeleteMeterRequest, options?: RequestOptions): Promise>; /** * Query meter * * Query a meter for usage. * * Set `Accept: application/json` (the default) to get a structured JSON response. * Set `Accept: text/csv` to download the same data as a CSV file suitable for * spreadsheets. The CSV columns, in order, are: * * `from, to, [subject,] [customer_id, customer_key, customer_name,] , value` * * The `subject` column is emitted only when `subject` is in the query's * `group_by_dimensions`. The three `customer_*` columns are emitted together only * when `customer_id` is in the query's `group_by_dimensions`. * * POST /openmeter/meters/{meterId}/query */ export declare function queryMeter(client: Client, req: QueryMeterRequest, options?: RequestOptions): Promise>; /** POST /openmeter/meters/{meterId}/query */ export declare function queryMeterCsv(client: Client, req: QueryMeterCsvRequest, options?: RequestOptions): Promise>;