import { E as StringConstraints, f as FileConstraints, t as ArrayConstraints, x as ObjectConstraints, y as NumberConstraints } from "../types-BBQaEPfE.mjs"; import { i as DiagnosticsOptions } from "../diagnostics-mftUZI7c.mjs"; //#region src/core/constraints.d.ts /** * Read the JSON Schema string constraint keywords (`minLength`, * `maxLength`, `pattern`, `format`, `contentEncoding`, * `contentMediaType`) from a schema node and return them in the * `StringConstraints` shape consumed by string field renderers. * Emits an `unknown-format` diagnostic for unrecognised `format` * values. */ declare function extractStringConstraints(schema: Record, diagnostics?: DiagnosticsOptions, pointer?: string): StringConstraints; /** * Read the JSON Schema number constraint keywords (`minimum`, * `maximum`, `exclusiveMinimum`, `exclusiveMaximum`, `multipleOf`) * from a schema node and return them in the `NumberConstraints` shape * consumed by number field renderers. */ declare function extractNumberConstraints(schema: Record): NumberConstraints; /** * Read the JSON Schema array constraint keywords (`minItems`, * `maxItems`, `uniqueItems`, `minContains`, `maxContains`) from a * schema node and return them in the `ArrayConstraints` shape. The * `contains` and `unevaluatedItems` sub-schemas are walked separately * and surfaced on the `ArrayField` / `TupleField` directly rather * than as raw constraints. */ declare function extractArrayConstraints(schema: Record): ArrayConstraints; /** * Read the JSON Schema object constraint keywords (`minProperties`, * `maxProperties`) from a schema node and return them in the * `ObjectConstraints` shape. */ declare function extractObjectConstraints(schema: Record): ObjectConstraints; /** * Read the JSON Schema file constraints from a schema node — currently * just `contentMediaType`, which surfaces as the single-entry * `mimeTypes` array on `FileConstraints`. */ declare function extractFileConstraints(schema: Record): FileConstraints; /** * Return a copy of the schema with constraint keywords that don't apply * to the given type removed. Meta keywords (description, title, etc.) * and composition keywords are always preserved. */ declare function stripInapplicableConstraints(schema: Record, targetType: string): Record; //#endregion export { extractArrayConstraints, extractFileConstraints, extractNumberConstraints, extractObjectConstraints, extractStringConstraints, stripInapplicableConstraints };