import { FormInteractionEvent } from './telemetry.js'; import { Q as QuestionType } from './analytics-CKp_MFX6.js'; import './lifecycle.js'; import './i18n/keys.js'; interface InteractionAnalyticsOptions { readonly abandonmentThresholdMs?: number; readonly now?: Date | string; } interface FormInteractionFunnel { readonly viewedCount: number; readonly startedCount: number; readonly submitAttemptedCount: number; readonly submitFailedCount?: number; readonly submittedCount: number; readonly abandonedCount: number; readonly startRate: number; readonly submissionRateFromView: number; readonly submissionRateFromStart: number; readonly abandonmentRate?: number; readonly submitFailureRate?: number; } interface PageInteractionAnalytics { readonly pageId: string; readonly viewedCount: number; readonly completedCount: number; readonly completionRate: number; readonly averageCompletionMs?: number; } interface FieldInteractionAnalytics { readonly fieldId: string; readonly fieldType: QuestionType; readonly presentedCount: number; readonly focusedCount: number; readonly completedCount: number; readonly focusRate: number; readonly completionRate: number; readonly validationFailureCount: number; readonly validationFailureSessionCount: number; readonly averageCompletionMs?: number; } interface FormInteractionAnalytics { readonly formId: string; readonly formVersion: number; readonly sessions: number; readonly funnel: FormInteractionFunnel; readonly pages: readonly PageInteractionAnalytics[]; readonly fields: readonly FieldInteractionAnalytics[]; } declare function aggregateInteractionEvents(events: readonly FormInteractionEvent[], options?: InteractionAnalyticsOptions): FormInteractionAnalytics; export { type FieldInteractionAnalytics, type FormInteractionAnalytics, type FormInteractionFunnel, type InteractionAnalyticsOptions, type PageInteractionAnalytics, aggregateInteractionEvents };