import type { TSchema } from "typebox"; /** * Fraction of a free-text field's declared `maxLength` to project into * the wire schema — leaving headroom below the true cap so the model's * tendency to overshoot lands under the real limit rather than past it. * * ponytail: tunable heuristic knob. Lower it (e.g. 0.85, 0.8) if * truncation still surfaces in practice; raise it toward 1.0 if the * steering is clipping legitimately long values. A plain constant on * purpose — not an env var or config object. */ export declare const SHRINK = 0.9; /** * Project a TypeBox String node into the wire-schema String object, * applying free-text length steering. * * - A free-text String with a `maxLength` gets a shrunk `maxLength` and * a `description` ending `…at most characters`. * - An exact-value String (declares a `format`, or a very small * `maxLength`) keeps its original `maxLength`/`description` and gets * no hint. * - A String with no `maxLength` is returned as a bare * `{ type: "string" }` (no shrink, no hint). * * Returns a plain object literal (the loose shape both converters * round-trip through the request body), never mutating the source. */ export declare function projectStringLengthHint(schema: TSchema): Record; //# sourceMappingURL=length-hint.d.ts.map