Skip to content

createMachine

Callable

  • createMachine<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: { actions?: MachineImplementationsActions<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], eventsCausingActions>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedEvents>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedActors>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedActions>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedGuards>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedDelays>>; actors?: MachineImplementationsActors<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedActors>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], invokeSrcNameMap>>; delays?: MachineImplementationsDelays<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], eventsCausingDelays>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedEvents>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedActions>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedDelays>>; guards?: MachineImplementationsGuards<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], eventsCausingGuards>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedEvents>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedGuards>> }): StateMachine<TContext, TEvent, Cast<ToChildren<TActor>, Record<string, AnyActorRef | undefined>>, TActor, TAction, TGuard, TDelay, matchesStates extends keyof TTypesMeta ? ToStateValue<Cast<TTypesMeta[matchesStates], TestValue>> : StateValue, Prop<ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>[resolved], tags> & string, TInput, TOutput, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>

  • Type parameters

    Parameters

    • config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>
    • optionalimplementations: { actions?: MachineImplementationsActions<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], eventsCausingActions>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedEvents>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedActors>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedActions>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedGuards>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedDelays>>; actors?: MachineImplementationsActors<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedActors>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], invokeSrcNameMap>>; delays?: MachineImplementationsDelays<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], eventsCausingDelays>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedEvents>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedActions>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedDelays>>; guards?: MachineImplementationsGuards<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], eventsCausingGuards>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedEvents>, Prop<{ disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & { indexedActions: IndexByType<TAction>; indexedActors: IndexByProp<TActor, src>; indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>; indexedEvents: Record<string, TEvent>; indexedGuards: IndexByType<TGuard>; invokeSrcNameMap: Record<string, string>; tags: TTag }; enabled: TTypesMeta & { indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, eventsCausingActions>>; indexedActors: string extends TActor[src] ? Record<keyof Prop<TTypesMeta, eventsCausingActors>, { logic: AnyActorLogic }> : IndexByProp<TActor, src>; indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, eventsCausingDelays>>; indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent[type] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, invokeSrcNameMap>>>, Prop<TTypesMeta, internalEvents>>; indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, eventsCausingGuards>>; tags: string extends TTag ? Prop<TTypesMeta, tags> : TTag } }[IsNever<TTypesMeta> extends true ? disabled : TTypesMeta[@@xstate/typegen] extends true ? enabled : disabled], indexedGuards>> }

    Returns StateMachine<TContext, TEvent, Cast<ToChildren<TActor>, Record<string, AnyActorRef | undefined>>, TActor, TAction, TGuard, TDelay, matchesStates extends keyof TTypesMeta ? ToStateValue<Cast<TTypesMeta[matchesStates], TestValue>> : StateValue, Prop<ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>[resolved], tags> & string, TInput, TOutput, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>