import { Field } from "./field"; import * as yup from 'yup'; import { FormMetaData } from '../constants/forms'; import MultiValuedFieldDef from "../fields/MultiValue/MutliValuesFieldDef"; import FieldButtonFieldDef from "../fields/FieldButton/FieldButtonDef"; export declare class FormSchema { fields: { [key: string]: any; }; sections: { [key: string]: any; }; validationSchema: yup.AnySchema | undefined; formMetaData: FormMetaData; values: { [key: string]: any; }; erros: { [key: string]: any; }; valid: boolean; constructor(sections: any, fields: any, formMetaData?: FormMetaData, validationSchema?: yup.AnySchema); mapFields(fields: any, section?: string): { validationArray: any; sectionFields: any; }; mapSections(sections: any): any; createField(value: any, key: string): Field | MultiValuedFieldDef | FieldButtonFieldDef; onFieldValueChange(field: string, value: any): void; private _validateBasedOnValidationSchema; getLevel1Fields(): any[]; getLevel1Sections(): any[]; validateAllField(): void; /** * validateField */ validateField(fieldName: string): void; /** * * @param field {Field} */ _addField(fields: any, totalNewField: number, sectionKey?: string, options?: { addAfter?: string; }): FormSchema; removeField(fieldKey: string, sectionKey?: string): void; _addSections(sections: any): FormSchema; }