import React from 'react'; import { I as IRuntimeFormState, a as ITemplateMeta, b as IRuntimeFieldState } from './IResolvedFormConfig-CP4-skHw.mjs'; import './IFieldConfig-BTAQmStl.mjs'; import './index-0OEeDC7T.mjs'; import './IFormConfig-DTk5E-4l.mjs'; interface IFormDevToolsProps { configName: string; formState?: IRuntimeFormState; formValues?: Record; formErrors?: Record; dirtyFields?: Record; enabled?: boolean; /** Template provenance metadata from IResolvedFormConfig._templateMeta */ templateMeta?: ITemplateMeta; } declare const FormDevTools: React.FC; interface IRuleTraceEvent { timestamp: number; type: "evaluate" | "apply" | "revert" | "init"; triggerField: string; triggerValue: unknown; affectedField: string; ruleId?: string; previousState?: Partial; newState?: Partial; } declare function enableRuleTracing(callback?: (event: IRuleTraceEvent) => void): void; declare function disableRuleTracing(): void; declare function traceRuleEvent(event: Omit): void; declare function getRuleTraceLog(): IRuleTraceEvent[]; declare function clearRuleTraceLog(): void; declare function isRuleTracingEnabled(): boolean; /** * RenderTracker — Module-level render count tracking for FormDevTools. * * Tracks per-field render counts and which fields re-rendered on the last change. * * Disabled by default. Callers (e.g. FormDevTools) must call `enableRenderTracker()` * to opt in. See audit P1-22 — when disabled, `trackRender` is a no-op fast path * so there is no hot-path cost / unbounded memory growth. */ /** Enable render tracking (e.g. when mounting FormDevTools). */ declare function enableRenderTracker(): void; /** Disable render tracking and clear state. */ declare function disableRenderTracker(): void; /** Whether tracking is currently enabled. */ declare function isRenderTrackerEnabled(): boolean; /** * Record a render for the given field. Call this from RenderField. */ declare function trackRender(fieldName: string): void; /** * Call once per form render cycle to snapshot which fields rendered. */ declare function flushRenderCycle(): void; /** * Returns the current render counts for all tracked fields. */ declare function getRenderCounts(): Map; /** * Returns the set of field names that rendered in the last cycle. */ declare function getLastRenderedFields(): Set; /** * Returns total form render count. */ declare function getTotalFormRenders(): number; /** * Reset all tracking data. */ declare function resetRenderTracker(): void; /** * EventTimeline — Module-level chronological event log for FormDevTools. * * Logs timestamped events from the rules engine, field changes, and validations. * * Disabled by default. Callers (e.g. FormDevTools) must call `enableEventTimeline()` * to opt in. When disabled, `logEvent` is a no-op fast path. See audit P1-22. */ type TimelineEventType = "field_change" | "rule_evaluated" | "validation_run" | "form_submit"; interface ITimelineEvent { timestamp: number; type: TimelineEventType; fieldName: string; details: string; } /** Enable event timeline logging. */ declare function enableEventTimeline(): void; /** Disable event timeline logging. */ declare function disableEventTimeline(): void; /** Whether event timeline logging is enabled. */ declare function isEventTimelineEnabled(): boolean; /** * Log a new event to the timeline. */ declare function logEvent(type: TimelineEventType, fieldName: string, details: string): void; /** * Returns a copy of the full timeline. */ declare function getTimeline(): ITimelineEvent[]; /** * Clear all timeline events. */ declare function clearTimeline(): void; export { FormDevTools, type IFormDevToolsProps, type IRuleTraceEvent, type ITimelineEvent, type TimelineEventType, clearRuleTraceLog, clearTimeline, disableEventTimeline, disableRenderTracker, disableRuleTracing, enableEventTimeline, enableRenderTracker, enableRuleTracing, flushRenderCycle, getLastRenderedFields, getRenderCounts, getRuleTraceLog, getTimeline, getTotalFormRenders, isEventTimelineEnabled, isRenderTrackerEnabled, isRuleTracingEnabled, logEvent, resetRenderTracker, traceRuleEvent, trackRender };