import type { JevJson, JevRequest, JevResponse } from "./types.js"; export declare function jsonText(value: unknown, maxBytes: number, label: string): string; export declare const object: (v: unknown) => v is Record; export declare function checkRequest(value: unknown, maxBytes: number): asserts value is JevRequest; export interface JevUsage { input_tokens: number; output_tokens: number; } /** Well-formed reported usage, or undefined. Never treats missing usage as zero. */ export declare function reportedUsage(value: unknown): JevUsage | undefined; /** * A failed evaluation whose cost is known. A program bills `usage` and may * keep evaluating; every other failure is unknown usage and closes inference. */ export declare class JevBilledError extends Error { readonly usage: JevUsage; constructor(message: string, usage: JevUsage); } /** * A typed response whose answers are unusable but whose usage is well formed. * The answers are never surfaced; the reported usage is still billed against * the caller's budget. Responses without valid usage throw a plain Error. */ export declare class JevInvalidResponseError extends JevBilledError { } /** HTTP statuses a received Jev response may carry that justify a later retry. */ export declare const JEV_TRANSIENT_HTTP_STATUSES: readonly number[]; /** * A received transient HTTP error. `usage` is the error body's reported usage, * or the fixed cost: the request body's UTF-8 bytes as input tokens, 0 output. * `guestFields` crosses into the program's error object; the body never does. */ export declare class JevTransientHttpError extends JevBilledError { readonly status: number; readonly retryAfterMs: number | undefined; constructor(message: string, usage: JevUsage, status: number, retryAfterMs: number | undefined); get guestFields(): Record; } export declare function checkResponse(value: unknown, request: JevRequest): JevResponse; export declare function checkSchema(schema: unknown): asserts schema is Record; export declare function checkValue(schema: Record, value: unknown, label: string): asserts value is JevJson; //# sourceMappingURL=validation.d.ts.map