import * as z from "zod/v4-mini";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * An active meter for a customer, with latest consumed and credited units.
 */
export type CustomerStateMeter = {
    /**
     * 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 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;
};
/** @internal */
export declare const CustomerStateMeter$inboundSchema: z.ZodMiniType<CustomerStateMeter, unknown>;
/** @internal */
export type CustomerStateMeter$Outbound = {
    id: string;
    created_at: string;
    modified_at: string | null;
    meter_id: string;
    consumed_units: number;
    credited_units: number;
    balance: number;
};
/** @internal */
export declare const CustomerStateMeter$outboundSchema: z.ZodMiniType<CustomerStateMeter$Outbound, CustomerStateMeter>;
export declare function customerStateMeterToJSON(customerStateMeter: CustomerStateMeter): string;
export declare function customerStateMeterFromJSON(jsonString: string): SafeParseResult<CustomerStateMeter, SDKValidationError>;
//# sourceMappingURL=customerstatemeter.d.ts.map