// Code generated by @openmeter/typespec-typescript. DO NOT EDIT. import { z } from 'zod' import * as schemas from '../schemas.js' import type { AcceptDateStrings } from '../../lib/wire.js' import type { CreateMeterRequest as CreateMeterRequestBody, ListMetersParamsFilter, Meter, MeterPagePaginatedResponse, MeterQueryRequestInput, MeterQueryResult, SortQueryInput, UpdateMeterRequest as UpdateMeterRequestBody, } from '../types.js' export type CreateMeterRequest = AcceptDateStrings export type CreateMeterResponse = Meter export type GetMeterRequest = { meterId: string } export type GetMeterResponse = Meter export interface ListMetersQuery { /** Determines which page of the collection to retrieve. */ page?: { size?: number; number?: number } /** * Sort meters returned in the response. Supported sort attributes are: * * - `key` * - `name` * - `aggregation` * - `created_at` (default) * - `updated_at` * * The `asc` suffix is optional as the default sort order is ascending. The `desc` * suffix is used to specify a descending order. */ sort?: SortQueryInput /** * Filter meters returned in the response. * * To filter meters by key add the following query param: filter[key]=my-meter-key */ filter?: ListMetersParamsFilter } export type ListMetersRequest = AcceptDateStrings export type ListMetersResponse = MeterPagePaginatedResponse export type UpdateMeterRequest = AcceptDateStrings<{ meterId: string body: UpdateMeterRequestBody }> export type UpdateMeterResponse = Meter export type DeleteMeterRequest = { meterId: string } export type DeleteMeterResponse = void export type QueryMeterRequest = AcceptDateStrings<{ meterId: string body: MeterQueryRequestInput }> export type QueryMeterResponse = MeterQueryResult export type QueryMeterCsvRequest = AcceptDateStrings<{ meterId: string body: MeterQueryRequestInput }> export type QueryMeterCsvResponse = string