import { FormConfig } from "./interfaces/form-config.interface"; import { FormStep } from "./interfaces/form-step.interface"; import { DynamicValidator } from "./utils/validator-registry"; /** * DynamicFormStepperController - A controller for multi-step forms with dynamic configuration * @param config - The form configuration with steps and field definitions * @returns A controller instance with bindings and methods for form state management */ export declare const FormController: (config: FormConfig) => { bindings: { config: import("@uplink-protocol/core").Binding; currentStepIndex: import("@uplink-protocol/core").Binding; currentStep: import("@uplink-protocol/core").Binding; formData: import("@uplink-protocol/core").Binding>>; stepsValidity: import("@uplink-protocol/core").Binding>; fieldErrors: import("@uplink-protocol/core").Binding<{}>; totalSteps: import("@uplink-protocol/core").Binding; isLastStep: import("@uplink-protocol/core").Binding; isFirstStep: import("@uplink-protocol/core").Binding; isFormValid: import("@uplink-protocol/core").Binding; }; methods: { nextStep: () => number; prevStep: () => number; goToStep: (stepIndex: number) => boolean; updateField: (stepId: string, fieldId: string, value: any) => void; validateField: (stepId: string, fieldId: string, value?: any, showErrors?: boolean) => boolean; validateStep: (stepId: string, showErrors?: boolean) => boolean; validateCurrentStep: (showErrors?: boolean) => boolean; validateCurrentStepWithTouchedErrors: () => boolean; validateStepWithTouchedErrors: (stepId: string) => boolean; validateForm: (showErrors?: boolean) => boolean; submitForm: () => { success: boolean; data?: any; errors?: any; }; resetForm: () => void; updateConfig: (newConfig: FormConfig) => void; getStepData: (stepId: string) => Record; getAllData: () => Record>; getFlatData: () => Record; addStep: (step: FormStep, index?: number) => number; removeStep: (stepId: string) => boolean; registerValidator: (name: string, validatorFn: DynamicValidator) => void; unregisterValidator: (name: string) => boolean; getAvailableValidators: () => string[]; }; };