import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Customer } from "./customer.js";
import { Meter } from "./meter.js";
/**
 * An active customer meter, with current consumed and credited units.
 */
export type CustomerMeter = {
    /**
     * The ID of the object.
     */
    id: string;
    /**
     * Creation timestamp of the object.
     */
    createdAt: Date;
    /**
     * Last modification timestamp of the object.
     */
    modifiedAt: Date | null;
    /**
     * The ID of the customer.
     */
    customerId: string;
    /**
     * The ID of the meter.
     */
    meterId: string;
    /**
     * The number of consumed units.
     */
    consumedUnits: number;
    /**
     * The number of credited units.
     */
    creditedUnits: number;
    /**
     * The balance of the meter, i.e. the difference between credited and consumed units.
     */
    balance: number;
    customer: Customer;
    meter: Meter;
};
/** @internal */
export declare const CustomerMeter$inboundSchema: z.ZodMiniType<CustomerMeter, unknown>;
export declare function customerMeterFromJSON(jsonString: string): SafeParseResult<CustomerMeter, SDKValidationError>;
//# sourceMappingURL=customermeter.d.ts.map