import { FormGroup } from '@angular/forms'; import { ParsedField } from '../models/ParsedField'; export interface FieldItems { title: string; type: FieldType; enum: any[]; properties?: { [key: string]: any; }; } export interface SchemaData { [index: string]: any; } export interface Relationship { cardinality: 'oneToMany' | 'manyToOne'; fields: { [key: string]: string; }; namespace: string; object: string; } export interface SchemaDefinition { additionalProperties?: boolean; indexed?: string[]; properties: any; relationships?: Relationship[]; readOnlyOnUI?: string[]; required?: string[]; type: string; } export declare type FieldType = 'array' | 'boolean' | 'date' | 'email' | 'number' | 'integer' | 'string' | 'object' | 'uuid'; export declare type FieldSubType = 'area' | 'tier'; export declare type InputType = 'area' | 'text' | 'date' | 'select' | 'number' | 'checkbox' | 'table' | 'nested' | 'list' | 'tier' | 'relationship'; export declare type SchemaDisplayContext = 'create' | 'update' | 'view'; export declare type ParsedSchemaPayload = [ParsedField[], FormGroup]; export declare type SchemaPayload = [SchemaDefinition, SchemaData];