import * as z from "zod/v4-mini"; import { WindowSize } from "./window-size.js"; export type GetUsageByMeterRequest = { /** * BillingAnchor enables custom monthly billing periods for meter usage aggregation. * * @remarks * * Usage guidelines: * - Only effective when WindowSize = "MONTH" * - For other window sizes (DAY, HOUR, WEEK), this field is ignored * - When nil, uses standard calendar months (1st to 1st) * - When provided, creates custom monthly periods (e.g., 5th to 5th) * * Common use cases: * - Subscription billing periods that don't align with calendar months * - Customer-specific billing cycles (e.g., signed up on 15th) * - Multi-tenant systems with different billing anchor dates * * Example: If BillingAnchor = "2024-03-05T14:30:45Z" and WindowSize = "MONTH": * - March period: 2024-03-05 14:30:45 to 2024-04-05 14:30:45 * - April period: 2024-04-05 14:30:45 to 2024-05-05 14:30:45 */ billingAnchor?: Date | undefined; bucketSize?: WindowSize | undefined; customerId?: string | undefined; endTime?: Date | undefined; externalCustomerId?: string | undefined; filters?: { [k: string]: Array; } | undefined; meterId: string; startTime?: Date | undefined; timezone?: string | undefined; windowSize?: WindowSize | undefined; }; /** @internal */ export type GetUsageByMeterRequest$Outbound = { billing_anchor?: string | undefined; bucket_size?: string | undefined; customer_id?: string | undefined; end_time?: string | undefined; external_customer_id?: string | undefined; filters?: { [k: string]: Array; } | undefined; meter_id: string; start_time?: string | undefined; timezone?: string | undefined; window_size?: string | undefined; }; /** @internal */ export declare const GetUsageByMeterRequest$outboundSchema: z.ZodMiniType; export declare function getUsageByMeterRequestToJSON(getUsageByMeterRequest: GetUsageByMeterRequest): string; //# sourceMappingURL=get-usage-by-meter-request.d.ts.map