import * as z from "zod/v4-mini"; import { CountAggregation, CountAggregation$Outbound } from "./countaggregation.js"; import { Filter, Filter$Outbound } from "./filter.js"; import { MeterUnit } from "./meterunit.js"; import { PropertyAggregation, PropertyAggregation$Outbound } from "./propertyaggregation.js"; import { UniqueAggregation, UniqueAggregation$Outbound } from "./uniqueaggregation.js"; export type MeterUpdateMetadata = string | number | number | boolean; export type Aggregation = (PropertyAggregation & { func: "avg"; }) | CountAggregation | (PropertyAggregation & { func: "max"; }) | (PropertyAggregation & { func: "min"; }) | (PropertyAggregation & { func: "sum"; }) | UniqueAggregation; export type MeterUpdate = { /** * Key-value object allowing you to store additional information. * * @remarks * * The key must be a string with a maximum length of **40 characters**. * The value must be either: * * * A string with a maximum length of **500 characters** * * An integer * * A floating-point number * * A boolean * * You can store up to **50 key-value pairs**. */ metadata?: { [k: string]: string | number | number | boolean; } | undefined; /** * The name of the meter. Will be shown on customer's invoices and usage. */ name?: string | null | undefined; /** * The unit of the meter. */ unit?: MeterUnit | null | undefined; /** * The label for the custom unit. Required when unit is 'custom'. */ customLabel?: string | null | undefined; /** * The multiplier to convert from base unit to display scale. Required when unit is 'custom'. */ customMultiplier?: number | null | undefined; /** * The filter to apply on events that'll be used to calculate the meter. */ filter?: Filter | null | undefined; /** * The aggregation to apply on the filtered events to calculate the meter. */ aggregation?: (PropertyAggregation & { func: "avg"; }) | CountAggregation | (PropertyAggregation & { func: "max"; }) | (PropertyAggregation & { func: "min"; }) | (PropertyAggregation & { func: "sum"; }) | UniqueAggregation | null | undefined; /** * Whether the meter is archived. Archived meters are no longer used for billing. */ isArchived?: boolean | null | undefined; }; /** @internal */ export type MeterUpdateMetadata$Outbound = string | number | number | boolean; /** @internal */ export declare const MeterUpdateMetadata$outboundSchema: z.ZodMiniType; export declare function meterUpdateMetadataToJSON(meterUpdateMetadata: MeterUpdateMetadata): string; /** @internal */ export type Aggregation$Outbound = (PropertyAggregation$Outbound & { func: "avg"; }) | CountAggregation$Outbound | (PropertyAggregation$Outbound & { func: "max"; }) | (PropertyAggregation$Outbound & { func: "min"; }) | (PropertyAggregation$Outbound & { func: "sum"; }) | UniqueAggregation$Outbound; /** @internal */ export declare const Aggregation$outboundSchema: z.ZodMiniType; export declare function aggregationToJSON(aggregation: Aggregation): string; /** @internal */ export type MeterUpdate$Outbound = { metadata?: { [k: string]: string | number | number | boolean; } | undefined; name?: string | null | undefined; unit?: string | null | undefined; custom_label?: string | null | undefined; custom_multiplier?: number | null | undefined; filter?: Filter$Outbound | null | undefined; aggregation?: (PropertyAggregation$Outbound & { func: "avg"; }) | CountAggregation$Outbound | (PropertyAggregation$Outbound & { func: "max"; }) | (PropertyAggregation$Outbound & { func: "min"; }) | (PropertyAggregation$Outbound & { func: "sum"; }) | UniqueAggregation$Outbound | null | undefined; is_archived?: boolean | null | undefined; }; /** @internal */ export declare const MeterUpdate$outboundSchema: z.ZodMiniType; export declare function meterUpdateToJSON(meterUpdate: MeterUpdate): string; //# sourceMappingURL=meterupdate.d.ts.map