/** * A partial Json Schema type definition */ export interface JsonSchema { type?: 'string' | 'object' | 'array' | 'boolean' | 'number'; const?: string | number | boolean; required?: string[]; pattern?: string; minLength?: number; maxLength?: number; minItems?: number; maxItems?: number; properties?: { [key: string]: JsonSchema; }; allOf?: JsonSchema[]; oneOf?: JsonSchema[]; items?: JsonSchema; format?: string; title?: string; description?: string; default?: string | number | boolean; readOnly?: boolean; if?: JsonSchema; then?: JsonSchema; else?: JsonSchema; 'x-display'?: string; 'x-cols'?: number; 'x-class'?: string; 'x-if'?: string; 'x-options'?: { editMode?: 'inline' | string; evalMethod?: 'propertyExpr' | 'evalExpr' | 'newFunction'; [opt: string]: string | boolean; }; 'x-itemTitle'?: string; dropdownId?: string; calcProperties?: any; currencyOptions?: any; }