import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * BudgetUsage is the current-period consumption of a budget, sourced
 *
 * @remarks
 *  from the live Redis counters (not the exact ledger). Each dimension is
 *  the consumed side of the matching limit dimension: `amount` is the
 *  accumulated cost in USD (vs limits.amount), `tokens` is the accumulated
 *  token count (vs limits.token_limit), and `requests` is the count in the
 *  rolling 60-second window (vs rate_limit.requests_per_minute). All three
 *  are explicit-presence so the triple is always emitted in full, zeros
 *  included — a never-spent budget serializes {amount:0, tokens:0,
 *  requests:0} rather than dropping its zero dimensions.
 */
export type BudgetUsage = {
    amount?: number | undefined;
    /**
     * Carried as a double (not int64) so it serializes as a JSON number
     *
     * @remarks
     *  rather than a quoted string, matching limits.token_limit.
     */
    tokens?: number | undefined;
    requests?: number | undefined;
};
/** @internal */
export declare const BudgetUsage$inboundSchema: z.ZodType<BudgetUsage, z.ZodTypeDef, unknown>;
export declare function budgetUsageFromJSON(jsonString: string): SafeParseResult<BudgetUsage, SDKValidationError>;
//# sourceMappingURL=budgetusage.d.ts.map