import { EventEmitter, OnInit, OnChanges, SimpleChanges, ChangeDetectorRef } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { DynamicFormConfig, DynamicFormField, DynamicFormSubmitEvent } from '../../models/form-field.model'; import { DynamicFormBuilderService } from '../../services/dynamic-form-builder.service'; import { ConditionEvaluatorService } from '../../services/condition-evaluator.service'; import * as i0 from "@angular/core"; export declare class DynamicFormComponent implements OnInit, OnChanges { private builder; private conditionEvaluator; private cdr; config: DynamicFormConfig; /** Pre-fill the form with values (e.g. in edit mode) */ initialValues?: Record; /** Emitted on valid form submit */ formSubmit: EventEmitter; /** Emitted on every value change */ formChange: EventEmitter>; /** Emitted on every individual field value change */ fieldChange: EventEmitter<{ key: string; value: any; }>; /** Emitted when form is reset */ formReset: EventEmitter; form: FormGroup; constructor(builder: DynamicFormBuilderService, conditionEvaluator: ConditionEvaluatorService, cdr: ChangeDetectorRef); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; private buildForm; isVisible(field: DynamicFormField): boolean; onSubmit(): void; onReset(): void; /** Public API: access the FormGroup from the parent */ getForm(): FormGroup; /** Public API: patch values from outside */ patchValues(values: Record): void; /** * For URL-based select/multiselect/radio fields, the API may return nested objects * (e.g. ville: { id: 9, nom: "Dakar" }) instead of a primitive value (9). * Extract the displayValue key so the select control matches the correct option. */ private normalizeValues; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }