/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { MeterAggregation, MeterAggregation$Outbound, MeterAggregation$outboundSchema, } from "./meter-aggregation.js"; import { MeterFilter, MeterFilter$Outbound, MeterFilter$outboundSchema, } from "./meter-filter.js"; import { ResetUsage, ResetUsage$outboundSchema } from "./reset-usage.js"; export type CreateMeterRequest = { aggregation: MeterAggregation; eventName: string; filters?: Array | undefined; name: string; resetUsage: ResetUsage; }; /** @internal */ export type CreateMeterRequest$Outbound = { aggregation: MeterAggregation$Outbound; event_name: string; filters?: Array | undefined; name: string; reset_usage: string; }; /** @internal */ export const CreateMeterRequest$outboundSchema: z.ZodMiniType< CreateMeterRequest$Outbound, CreateMeterRequest > = z.pipe( z.object({ aggregation: MeterAggregation$outboundSchema, eventName: z.string(), filters: z.optional(z.array(MeterFilter$outboundSchema)), name: z.string(), resetUsage: ResetUsage$outboundSchema, }), z.transform((v) => { return remap$(v, { eventName: "event_name", resetUsage: "reset_usage", }); }), ); export function createMeterRequestToJSON( createMeterRequest: CreateMeterRequest, ): string { return JSON.stringify( CreateMeterRequest$outboundSchema.parse(createMeterRequest), ); }