import { AbstractControl, FormGroup, ValidatorFn } from '@angular/forms'; import { DynamicFormField, FieldValidation } from '../models/form-field.model'; import * as i0 from "@angular/core"; export declare class DynamicFormBuilderService { private uniqueness; buildFormGroup(fields: DynamicFormField[]): FormGroup; /** Build group-level validators for cross-field constraints */ buildGroupValidators(fields: DynamicFormField[], atLeastOneOf?: string[], atLeastOneOfMessage?: string): ValidatorFn[]; buildValidators(validation?: FieldValidation): ValidatorFn[]; getErrorMessage(control: AbstractControl, validation?: FieldValidation): string | null; private formatDateFr; /** * Cross-field bound validator: sets an error on `fieldKey` when: * mode 'max': field value > other field value * mode 'min': field value < other field value * Numbers and dates (Date from mat-datepicker or ISO string) — see compareFieldValues. * * Error is set directly on the FormControl so the existing per-field * error display in DynamicFieldComponent picks it up automatically. */ private crossFieldBoundValidator; /** Group-level validator: at least one of the listed field keys must have a non-empty value */ atLeastOneOfValidator(keys: string[], msg?: string): ValidatorFn; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }