import { AsyncValidatorFn, ValidatorFn } from '@angular/forms'; import { EventEmitter } from '@angular/core'; export type FieldType = 'ShapePolygonPoints' | 'percent' | 'NodeShape' | 'LineStyle' | 'TextTransformation' | 'FontStyle' | 'FontWeight' | 'options' | 'Colour' | 'undefined' | 'object' | 'boolean' | 'number' | 'string' | 'function' | 'symbol' | 'bigint'; export declare class FormInfo { title: string; fieldsets: FieldsetInfo[]; showSubmitButton: boolean; submitText: string; disableSubmitOnFormInvalid: boolean; otherFieldsetTitle: null; constructor(title: string, fieldsets: FieldsetInfo[], showSubmitButton?: boolean, submitText?: string, disableSubmitOnFormInvalid?: boolean, otherFieldsetTitle?: null); } export declare class FieldsetInfo { legend: string; fieldInfos: FieldInfo[]; displayOnlyIfProperties?: string[] | undefined; constructor(legend: string, fieldInfos: FieldInfo[], displayOnlyIfProperties?: string[] | undefined); showFieldsetForModel(model: object): boolean; } export declare class FieldInfo { label?: string | Function | undefined; modelProperty?: string | undefined; type?: FieldType | undefined; tooltip?: string | undefined; validators?: Function | ValidatorFn[] | undefined; disableWhenInvalid: boolean; hideWhenNoModelProperty: boolean; placeholder?: string | undefined; inputType: string; inputSize: number; options?: object[] | undefined; optionArrayLabelField?: string | undefined; optionArrayValueField?: string | Function | undefined; private fieldTypes; updateOn: 'change' | 'blur' | 'submit'; asyncValidators: AsyncValidatorFn[] | Function | undefined; constructor(label?: string | Function | undefined, modelProperty?: string | undefined, type?: FieldType | undefined, tooltip?: string | undefined, validators?: Function | ValidatorFn[] | undefined, disableWhenInvalid?: boolean, hideWhenNoModelProperty?: boolean, placeholder?: string | undefined, inputType?: string, inputSize?: number, options?: object[] | undefined, optionArrayLabelField?: string | undefined, optionArrayValueField?: string | Function | undefined); fieldType(model: object): FieldType; setValue(newValue: any, model: object, modelChange: EventEmitter): void; }