import { FormEventHandlers, FieldEventHandlers, WebhookConfig, SubmissionMeta } from '../types'; export declare class FormEventHub { private formHandlers; private fieldHandlers; private webhooks; private debounceTimers; private webhookQueue; private isProcessingQueue; private webhookCallbacks?; constructor(formHandlers: FormEventHandlers, fieldHandlers?: FieldEventHandlers, webhooks?: WebhookConfig[], webhookCallbacks?: { onWebhookStart?: (webhook: WebhookConfig, event: any) => void; onWebhookComplete?: (webhook: WebhookConfig, event: any, response: any) => void; onWebhookError?: (webhook: WebhookConfig, event: any, error: Error) => void; }); updateWebhooks(webhooks: WebhookConfig[]): void; updateCallbacks(callbacks: { onWebhookStart?: (webhook: WebhookConfig, event: any) => void; onWebhookComplete?: (webhook: WebhookConfig, event: any, response: any) => void; onWebhookError?: (webhook: WebhookConfig, event: any, error: Error) => void; }): void; handleBeforeSubmit(data: any): Promise; handleAfterSubmit(data: unknown, answerSnapshot?: { formData: unknown; meta?: SubmissionMeta; }, meta?: SubmissionMeta, fullAnswers?: unknown): Promise; handleBeforeValidation(data: any): Promise; handleAfterValidation(validationErrors: any, formData: any): Promise; handleStepChange(fromStep: number, toStep: number, formData: any): Promise; handleFieldEvent(eventType: 'focus' | 'blur' | 'change', fieldId: string, fieldValue: any, schema?: any, formData?: any, fieldPath?: string[]): Promise; private processWebhooks; private debounceWebhook; private queueWebhook; private processWebhookQueue; private cleanEventForWebhook; private deepCleanObject; private callWebhook; createFieldEventHandlers(fieldId: string, schema?: any, formData?: any, fieldPath?: string[]): { onFocus: (value: any) => Promise; onBlur: (value: any) => Promise; onChange: (value: any) => Promise; }; cleanup(): void; private formatValidationErrors; private generateDebounceKey; private createStandardizedPayload; }