/** * @since 0.67.0 */ import * as AST from "./AST.js"; import type * as Schema from "./Schema.js"; /** * @category model * @since 0.67.0 */ export interface JsonSchemaAnnotations { title?: string; description?: string; default?: unknown; examples?: Array; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Any extends JsonSchemaAnnotations { $id: "/schemas/any"; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Unknown extends JsonSchemaAnnotations { $id: "/schemas/unknown"; } /** * @category model * @since 0.69.0 */ export interface JsonSchema7Void extends JsonSchemaAnnotations { $id: "/schemas/void"; } /** * @category model * @since 0.71.0 */ export interface JsonSchema7object extends JsonSchemaAnnotations { $id: "/schemas/object"; anyOf: [ { type: "object"; }, { type: "array"; } ]; } /** * @category model * @since 0.71.0 */ export interface JsonSchema7empty extends JsonSchemaAnnotations { $id: "/schemas/{}"; anyOf: [ { type: "object"; }, { type: "array"; } ]; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Ref extends JsonSchemaAnnotations { $ref: string; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7String extends JsonSchemaAnnotations { type: "string"; minLength?: number; maxLength?: number; pattern?: string; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Numeric extends JsonSchemaAnnotations { minimum?: number; exclusiveMinimum?: number; maximum?: number; exclusiveMaximum?: number; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Number extends JsonSchema7Numeric { type: "number"; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Integer extends JsonSchema7Numeric { type: "integer"; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Boolean extends JsonSchemaAnnotations { type: "boolean"; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Array extends JsonSchemaAnnotations { type: "array"; items?: JsonSchema7 | Array; minItems?: number; maxItems?: number; additionalItems?: JsonSchema7 | boolean; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Enum extends JsonSchemaAnnotations { enum: Array; } /** * @category model * @since 0.71.0 */ export interface JsonSchema7Enums extends JsonSchemaAnnotations { $comment: "/schemas/enums"; anyOf: Array<{ title: string; enum: [string | number]; }>; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7AnyOf extends JsonSchemaAnnotations { anyOf: Array; } /** * @category model * @since 0.67.0 */ export interface JsonSchema7Object extends JsonSchemaAnnotations { type: "object"; required: Array; properties: Record; additionalProperties?: boolean | JsonSchema7; patternProperties?: Record; propertyNames?: JsonSchema7; } /** * @category model * @since 0.71.0 */ export type JsonSchema7 = JsonSchema7Any | JsonSchema7Unknown | JsonSchema7Void | JsonSchema7object | JsonSchema7empty | JsonSchema7Ref | JsonSchema7String | JsonSchema7Number | JsonSchema7Integer | JsonSchema7Boolean | JsonSchema7Array | JsonSchema7Enum | JsonSchema7Enums | JsonSchema7AnyOf | JsonSchema7Object; /** * @category model * @since 0.67.0 */ export type JsonSchema7Root = JsonSchema7 & { $schema?: string; $defs?: Record; }; /** * @category encoding * @since 0.67.0 */ export declare const make: (schema: Schema.Schema) => JsonSchema7Root; //# sourceMappingURL=JSONSchema.d.ts.map