import type { JsonSchema } from "../domain/JsonSchema.js"; /** * Declare a new array model. If an item schema is provided, it will be set as `items` and its type will be inferred. * * ```json * { "type": "array" } * ``` * * See @@JsonSchema@@ to discover available methods. * * @schemaFunctional */ export declare function array(): JsonSchema; export declare function array(item: JsonSchema): JsonSchema; /** * Declare a new object model with `additionalProperties: true` (map-like). If a value schema is provided, it is used * as `additionalProperties` and its type will be inferred. * * ```json * { "type": "object", "additionalProperties": true } * ``` * * See @@JsonSchema@@ to discover available methods. * * @schemaFunctional */ export declare function map(): JsonSchema>; export declare function map(value: JsonSchema): JsonSchema>; /** * Declare a new array model representing a Set with `uniqueItems: true`. If an item schema is provided, it will be set * as `items` and its type will be inferred as `Set`. * * ```json * { "type": "array", "uniqueItems": true } * ``` * * See @@JsonSchema@@ to discover available methods. * * @schemaFunctional */ export declare function set(): JsonSchema>; export declare function set(item: JsonSchema): JsonSchema>; /** * Declare a new object model with `additionalProperties: true` (record-like). If a value schema is provided, it is used * as `additionalProperties` and its type will be inferred as `Record`. * * ```json * { "type": "object", "additionalProperties": true } * ``` * * See @@JsonSchema@@ to discover available methods. * * @schemaFunctional */ export declare function record(): JsonSchema>; export declare function record(value: JsonSchema): JsonSchema>;