import { AnyActorRef, AnyEventObject, AnyTransitionDefinition, Snapshot} from './types.ts';
export type InspectionEvent = | InspectedSnapshotEvent | InspectedEventEvent | InspectedActorEvent | InspectedMicrostepEvent | InspectedActionEvent;
export interface BaseInspectionEventProperties { rootId: string; actorRef: AnyActorRef;}
export interface InspectedSnapshotEvent extends BaseInspectionEventProperties { type: '@xstate.snapshot'; event: AnyEventObject; snapshot: Snapshot<unknown>;}
export interface InspectedMicrostepEvent extends BaseInspectionEventProperties { type: '@xstate.microstep'; event: AnyEventObject; snapshot: Snapshot<unknown>; _transitions: AnyTransitionDefinition[];}
export interface InspectedActionEvent extends BaseInspectionEventProperties { type: '@xstate.action'; action: { type: string; params: Record<string, unknown>; };}
export interface InspectedEventEvent extends BaseInspectionEventProperties { type: '@xstate.event'; sourceRef: AnyActorRef | undefined; event: AnyEventObject; }
export interface InspectedActorEvent extends BaseInspectionEventProperties { type: '@xstate.actor';}