/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { metersCreate } from "../funcs/metersCreate.js"; import { metersGet } from "../funcs/metersGet.js"; import { metersList } from "../funcs/metersList.js"; import { metersQuantities } from "../funcs/metersQuantities.js"; import { metersUpdate } from "../funcs/metersUpdate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { Meter } from "../models/components/meter.js"; import { MeterCreate } from "../models/components/metercreate.js"; import { MeterQuantities } from "../models/components/meterquantities.js"; import { MetersGetRequest } from "../models/operations/metersget.js"; import { MetersListRequest, MetersListResponse, } from "../models/operations/meterslist.js"; import { MetersQuantitiesRequest } from "../models/operations/metersquantities.js"; import { MetersUpdateRequest } from "../models/operations/metersupdate.js"; import { unwrapAsync } from "../types/fp.js"; import { PageIterator, unwrapResultIterator } from "../types/operations.js"; export class Meters extends ClientSDK { /** * List Meters * * @remarks * List meters. * * **Scopes**: `meters:read` `meters:write` */ async list( request: MetersListRequest, options?: RequestOptions, ): Promise> { return unwrapResultIterator(metersList( this, request, options, )); } /** * Create Meter * * @remarks * Create a meter. * * **Scopes**: `meters:write` */ async create( request: MeterCreate, options?: RequestOptions, ): Promise { return unwrapAsync(metersCreate( this, request, options, )); } /** * Get Meter * * @remarks * Get a meter by ID. * * **Scopes**: `meters:read` `meters:write` */ async get( request: MetersGetRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metersGet( this, request, options, )); } /** * Update Meter * * @remarks * Update a meter. * * **Scopes**: `meters:write` */ async update( request: MetersUpdateRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metersUpdate( this, request, options, )); } /** * Get Meter Quantities * * @remarks * Get quantities of a meter over a time period. * * **Scopes**: `meters:read` `meters:write` */ async quantities( request: MetersQuantitiesRequest, options?: RequestOptions, ): Promise { return unwrapAsync(metersQuantities( this, request, options, )); } }