import { BaseService } from './base.service'; import { ConfigService } from './config.service'; /** * Service for managing form data and submission */ export declare class FormService extends BaseService>> { private configService; private fieldErrorsService; constructor(initialFormData: Record>, configService: ConfigService, fieldErrorsService: BaseService>>, stepsValidityService: BaseService>); /** * Update a field value * @param stepId Step ID * @param fieldId Field ID * @param value New field value */ updateField(stepId: string, fieldId: string, value: any): void; /** * Get form data for a specific step * @param stepId Step ID * @returns Step data or empty object if step doesn't exist */ getStepData(stepId: string): Record; /** * Get all form data * @returns Complete form data */ getAllData(): Record>; /** * Get flattened form data (merged from all steps) * @returns Flattened form data */ getFlatData(): Record; /** * Reset form data to initial values * @param defaultValues Optional custom default values */ resetForm(defaultValues?: Record): void; /** * Handle form submission logic with integrated validation * @param validateAndMarkTouched Function to validate the entire form and mark fields touched * @param findFirstInvalidStep Function to find the first invalid step * @param goToStep Function to navigate to a step by index * @returns Submission result object */ submitForm(validateAndMarkTouched: () => boolean, findFirstInvalidStep: () => number, goToStep: (index: number) => void): { success: boolean; data?: any; errors?: any; }; /** * Completely reset the form, touch tracking, and validation state * @param resetTouchTracking Function to reset touch tracking * @param validateForm Function to validate the entire form */ completeReset(resetTouchTracking: () => void, validateForm: () => void): void; }