type DevtoolsEvent = { type: "component:mount"; id: number; name: string; } | { type: "component:update"; id: number; name: string; } | { type: "component:unmount"; id: number; name: string; } | { type: "component:emit"; id: number; name: string; event: string; handlerCount: number; } | { type: "scheduler:flush"; queuedJobs: number; dedupedJobs: number; durationMs: number; } | { type: "reactivity:trigger"; targetType: string; keyType: string; effectCount: number; scheduledEffects: number; runEffects: number; } | { type: "renderer:element"; operation: "mount" | "update" | "unmount"; tag: string; } | { type: "store:action"; name: string; status: "success" | "error"; durationMs: number; }; type DevtoolsEventListener = (event: DevtoolsEvent) => void; interface DevtoolsRecorderOptions { limit?: number; } interface DevtoolsRecorder { clear(): void; snapshot(): DevtoolsEvent[]; stop(): void; } declare function onDevtoolsEvent(listener: DevtoolsEventListener): () => void; declare function createDevtoolsRecorder(options?: DevtoolsRecorderOptions): DevtoolsRecorder; export { createDevtoolsRecorder, onDevtoolsEvent }; export type { DevtoolsEvent, DevtoolsEventListener, DevtoolsRecorder, DevtoolsRecorderOptions };