import { FormGroup, ValidatorFn } from '@angular/forms'; import { ParsedField } from '../models/ParsedField'; import { ParsedSchemaPayload, SchemaDefinition, SchemaPayload } from '../types/schema-form.types'; export declare class SchemaFormService { /** * @description Recursively parses a raw JSON schema into an array of parsed fields the UI can work with. */ static parseSchema(fieldDefs: SchemaDefinition): ParsedField[]; /** * @description Parses a tuple of raw JSON and Data object [SchemaDefinition, SchemaData] into a [ParsedField[], FormGroup]. */ static parseSchemaPayload(payload: SchemaPayload): ParsedSchemaPayload; /** * @description Recursively generates a formGroup from a ParsedField[], setting any default data provided. */ static generateFormGroup(fields: ParsedField[], data: { [key: string]: any; }): FormGroup; /** * @description Adds the correct validators to each field pending on its type and whether it is required. */ static setValidators(definition: ParsedField): ValidatorFn[]; /** * @description Parses the keys for generating the table renderer */ static parseFieldItemKeys(field: ParsedField): string[]; }