import type * as Extend from "../index"; /** * Field-level schema fragment used inside conditional clauses. These condition objects support nested JSON * Schema structure such as `type`, `enum`, `items`, `properties`, `required`, and `contains`, but do not * allow any `extend_edit:*` placement or styling keys. */ export interface EditConditionalProperty { /** * JSON Schema type for the conditional property. Can be a simple type such as `"object"` or `"array"`, * a nullable tuple like `["string", "null"]`, or omitted for enum-only constraints. */ type?: unknown; /** Description of the field constraint. */ description?: string; /** Allowed values for enum-based conditional constraints. */ enum?: string[]; /** Nested array item schema for conditional array constraints. */ items?: Extend.EditConditionalObjectProperty; /** Nested object property constraints. */ properties?: Record; /** Required nested object properties. */ required?: string[]; /** Whether additional nested object properties are allowed. */ additionalProperties?: boolean; /** Exact value that the property must match. */ const?: unknown; /** Regular expression that string values must match. */ pattern?: string; /** Conditional schema that at least one array item must satisfy. */ contains?: Extend.EditConditionalProperty; /** Inclusive lower bound for numeric values. */ minimum?: number; /** Inclusive upper bound for numeric values. */ maximum?: number; /** Exclusive lower bound for numeric values. */ exclusiveMinimum?: number; /** Exclusive upper bound for numeric values. */ exclusiveMaximum?: number; /** Minimum string length. */ minLength?: number; /** Maximum string length. */ maxLength?: number; /** Minimum number of array items. */ minItems?: number; /** Maximum number of array items. */ maxItems?: number; /** Minimum number of matching items for `contains`. */ minContains?: number; /** Maximum number of matching items for `contains`. */ maxContains?: number; }