JSONSchema:
    | boolean
    | Readonly<
        {
            "[$JSONSchema]"?: $JSONSchema;
            $comment?: string;
            $id?: string;
            $ref?: string;
            $schema?: string;
            additionalItems?: JSONSchema;
            additionalProperties?: JSONSchema;
            allOf?: readonly JSONSchema[];
            anyOf?: readonly JSONSchema[];
            const?: unknown;
            contains?: JSONSchema;
            contentEncoding?: string;
            contentMediaType?: string;
            default?: unknown;
            definitions?: Readonly<Record<string, JSONSchema>>;
            dependencies?: Readonly<Record<string, JSONSchema | readonly string[]>>;
            description?: string;
            else?: JSONSchema;
            enum?: unknown;
            examples?: readonly unknown[];
            exclusiveMaximum?: number;
            exclusiveMinimum?: number;
            format?: string;
            if?: JSONSchema;
            items?: JSONSchema | readonly JSONSchema[];
            maximum?: number;
            maxItems?: number;
            maxLength?: number;
            maxProperties?: number;
            minimum?: number;
            minItems?: number;
            minLength?: number;
            minProperties?: number;
            multipleOf?: number;
            not?: JSONSchema;
            nullable?: boolean;
            oneOf?: readonly JSONSchema[];
            pattern?: string;
            patternProperties?: Readonly<Record<string, JSONSchema>>;
            properties?: Readonly<Record<string, JSONSchema>>;
            propertyNames?: JSONSchema;
            readOnly?: boolean;
            required?: readonly string[];
            then?: JSONSchema;
            title?: string;
            type?: JSONSchemaType | readonly JSONSchemaType[];
            unevaluatedProperties?: JSONSchema;
            uniqueItems?: boolean;
            writeOnly?: boolean;
        },
    >