xstate 5.0.0-beta.44 → 5.0.0-beta.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/actions/dist/xstate-actions.cjs.js +2 -2
  2. package/actions/dist/xstate-actions.development.cjs.js +2 -2
  3. package/actions/dist/xstate-actions.development.esm.js +2 -2
  4. package/actions/dist/xstate-actions.esm.js +2 -2
  5. package/actions/dist/xstate-actions.umd.min.js +1 -1
  6. package/actions/dist/xstate-actions.umd.min.js.map +1 -1
  7. package/actors/dist/xstate-actors.cjs.js +93 -5
  8. package/actors/dist/xstate-actors.development.cjs.js +93 -5
  9. package/actors/dist/xstate-actors.development.esm.js +93 -5
  10. package/actors/dist/xstate-actors.esm.js +93 -5
  11. package/actors/dist/xstate-actors.umd.min.js +1 -1
  12. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  13. package/dist/declarations/src/State.d.ts +11 -11
  14. package/dist/declarations/src/StateMachine.d.ts +1 -1
  15. package/dist/declarations/src/actions/choose.d.ts +3 -3
  16. package/dist/declarations/src/actions/pure.d.ts +4 -4
  17. package/dist/declarations/src/actors/observable.d.ts +39 -0
  18. package/dist/declarations/src/actors/transition.d.ts +53 -4
  19. package/dist/declarations/src/{Machine.d.ts → createMachine.d.ts} +1 -1
  20. package/dist/declarations/src/guards.d.ts +26 -4
  21. package/dist/declarations/src/index.d.ts +2 -1
  22. package/dist/declarations/src/interpreter.d.ts +1 -0
  23. package/dist/declarations/src/setup.d.ts +32 -0
  24. package/dist/declarations/src/stateUtils.d.ts +7 -7
  25. package/dist/declarations/src/types.d.ts +16 -13
  26. package/dist/{raise-5854eaca.esm.js → raise-2b5a4e4c.esm.js} +82 -105
  27. package/dist/{raise-348cc74e.development.esm.js → raise-90139fbc.development.esm.js} +82 -105
  28. package/dist/{raise-ed700d14.development.cjs.js → raise-b3fb3c65.development.cjs.js} +82 -106
  29. package/dist/{raise-fb6f017b.cjs.js → raise-fabffc3d.cjs.js} +82 -106
  30. package/dist/{send-a0193bdb.development.esm.js → send-24cc8018.development.esm.js} +3 -28
  31. package/dist/{send-b7b4befa.esm.js → send-8e7e41e7.esm.js} +3 -28
  32. package/dist/{send-53e5693c.cjs.js → send-c124176f.cjs.js} +3 -28
  33. package/dist/{send-00466e37.development.cjs.js → send-d0bc7eed.development.cjs.js} +3 -28
  34. package/dist/xstate.cjs.js +46 -14
  35. package/dist/xstate.cjs.mjs +1 -0
  36. package/dist/xstate.development.cjs.js +46 -14
  37. package/dist/xstate.development.cjs.mjs +1 -0
  38. package/dist/xstate.development.esm.js +42 -11
  39. package/dist/xstate.esm.js +42 -11
  40. package/dist/xstate.umd.min.js +1 -1
  41. package/dist/xstate.umd.min.js.map +1 -1
  42. package/guards/dist/xstate-guards.cjs.js +1 -1
  43. package/guards/dist/xstate-guards.development.cjs.js +1 -1
  44. package/guards/dist/xstate-guards.development.esm.js +1 -1
  45. package/guards/dist/xstate-guards.esm.js +1 -1
  46. package/guards/dist/xstate-guards.umd.min.js +1 -1
  47. package/guards/dist/xstate-guards.umd.min.js.map +1 -1
  48. package/package.json +1 -1
@@ -1,4 +1,18 @@
1
- import type { EventObject, StateValue, MachineContext, ParameterizedObject, AnyMachineSnapshot, NoRequiredParams, NoInfer, WithDynamicParams } from "./types.js";
1
+ import type { EventObject, StateValue, MachineContext, ParameterizedObject, AnyMachineSnapshot, NoRequiredParams, NoInfer, WithDynamicParams, Identity, Elements } from "./types.js";
2
+ type SingleGuardArg<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TGuardArg> = [TGuardArg] extends [{
3
+ type: string;
4
+ }] ? Identity<TGuardArg> : [TGuardArg] extends [string] ? TGuardArg : GuardPredicate<TContext, TExpressionEvent, TParams, ParameterizedObject>;
5
+ type NormalizeGuardArg<TGuardArg> = TGuardArg extends {
6
+ type: string;
7
+ } ? Identity<TGuardArg> & {
8
+ params: unknown;
9
+ } : TGuardArg extends string ? {
10
+ type: TGuardArg;
11
+ params: undefined;
12
+ } : '_out_TGuard' extends keyof TGuardArg ? TGuardArg['_out_TGuard'] & ParameterizedObject : never;
13
+ type NormalizeGuardArgArray<TArg extends unknown[]> = Elements<{
14
+ [K in keyof TArg]: NormalizeGuardArg<TArg[K]>;
15
+ }>;
2
16
  export type GuardPredicate<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TGuard extends ParameterizedObject> = {
3
17
  (args: GuardArgs<TContext, TExpressionEvent>, params: TParams): boolean;
4
18
  _out_TGuard?: TGuard;
@@ -12,8 +26,16 @@ export type UnknownGuard = UnknownReferencedGuard | UnknownInlineGuard;
12
26
  type UnknownReferencedGuard = Guard<MachineContext, EventObject, ParameterizedObject['params'], ParameterizedObject>;
13
27
  type UnknownInlineGuard = Guard<MachineContext, EventObject, undefined, ParameterizedObject>;
14
28
  export declare function stateIn<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined>(stateValue: StateValue): GuardPredicate<TContext, TExpressionEvent, TParams, any>;
15
- export declare function not<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TGuard extends ParameterizedObject>(guard: Guard<TContext, TExpressionEvent, TParams, NoInfer<TGuard>>): GuardPredicate<TContext, TExpressionEvent, TParams, TGuard>;
16
- export declare function and<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TGuard extends ParameterizedObject>(guards: ReadonlyArray<Guard<TContext, TExpressionEvent, TParams, NoInfer<TGuard>>>): GuardPredicate<TContext, TExpressionEvent, TParams, TGuard>;
17
- export declare function or<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TGuard extends ParameterizedObject>(guards: ReadonlyArray<Guard<TContext, TExpressionEvent, TParams, NoInfer<TGuard>>>): GuardPredicate<TContext, TExpressionEvent, TParams, TGuard>;
29
+ export declare function not<TContext extends MachineContext, TExpressionEvent extends EventObject, TArg>(guard: SingleGuardArg<TContext, TExpressionEvent, unknown, TArg>): GuardPredicate<TContext, TExpressionEvent, unknown, NormalizeGuardArg<NoInfer<TArg>>>;
30
+ export declare function and<TContext extends MachineContext, TExpressionEvent extends EventObject, TArg extends unknown[]>(guards: readonly [
31
+ ...{
32
+ [K in keyof TArg]: SingleGuardArg<TContext, TExpressionEvent, unknown, TArg[K]>;
33
+ }
34
+ ]): GuardPredicate<TContext, TExpressionEvent, unknown, NormalizeGuardArgArray<NoInfer<TArg>>>;
35
+ export declare function or<TContext extends MachineContext, TExpressionEvent extends EventObject, TArg extends unknown[]>(guards: readonly [
36
+ ...{
37
+ [K in keyof TArg]: SingleGuardArg<TContext, TExpressionEvent, unknown, TArg[K]>;
38
+ }
39
+ ]): GuardPredicate<TContext, TExpressionEvent, unknown, NormalizeGuardArgArray<NoInfer<TArg>>>;
18
40
  export declare function evaluateGuard<TContext extends MachineContext, TExpressionEvent extends EventObject>(guard: UnknownGuard | UnknownInlineGuard, context: TContext, event: TExpressionEvent, state: AnyMachineSnapshot): boolean;
19
41
  export {};
@@ -8,13 +8,14 @@ export * from "./typegenTypes.js";
8
8
  export * from "./types.js";
9
9
  export { waitFor } from "./waitFor.js";
10
10
  import { Actor, createActor, interpret, Interpreter } from "./interpreter.js";
11
- import { createMachine } from "./Machine.js";
11
+ import { createMachine } from "./createMachine.js";
12
12
  export { type MachineSnapshot, isMachineSnapshot } from "./State.js";
13
13
  import { StateNode } from "./StateNode.js";
14
14
  export { matchesState, pathToStateValue, toObserver } from "./utils.js";
15
15
  export { Actor, createActor, createMachine, interpret, StateNode, type Interpreter };
16
16
  export type { InspectedActorEvent, InspectedEventEvent, InspectedSnapshotEvent, InspectionEvent } from "./system.js";
17
17
  export { and, not, or, stateIn } from "./guards.js";
18
+ export { setup } from "./setup.js";
18
19
  declare global {
19
20
  interface SymbolConstructor {
20
21
  readonly observable: symbol;
@@ -39,6 +39,7 @@ export declare class Actor<TLogic extends AnyActorLogic> implements ActorRef<Eve
39
39
  private observers;
40
40
  private logger;
41
41
  _parent?: ActorRef<any, any>;
42
+ _syncSnapshot?: boolean;
42
43
  ref: ActorRef<EventFromLogic<TLogic>, SnapshotFrom<TLogic>>;
43
44
  private _actorScope;
44
45
  private _systemId;
@@ -0,0 +1,32 @@
1
+ import { ResolveTypegenMeta, StateMachine, TypegenDisabled } from "./index.js";
2
+ import { GuardPredicate } from "./guards.js";
3
+ import { AnyActorLogic, MachineContext, AnyEventObject, NonReducibleUnknown, MachineConfig, Values, ParameterizedObject, ActionFunction, SetupTypes, DelayConfig } from "./types.js";
4
+ type ToParameterizedObject<TParameterizedMap extends Record<string, ParameterizedObject['params'] | undefined>> = Values<{
5
+ [K in keyof TParameterizedMap & string]: {
6
+ type: K;
7
+ params: TParameterizedMap[K];
8
+ };
9
+ }>;
10
+ type ToProvidedActor<TActors extends Record<string, AnyActorLogic>> = Values<{
11
+ [K in keyof TActors & string]: {
12
+ src: K;
13
+ logic: TActors[K];
14
+ };
15
+ }>;
16
+ export declare function setup<TContext extends MachineContext, TEvent extends AnyEventObject, // TODO: consider using a stricter `EventObject` here
17
+ TActors extends Record<string, AnyActorLogic>, TActions extends Record<string, ParameterizedObject['params'] | undefined>, TGuards extends Record<string, ParameterizedObject['params'] | undefined>, TDelay extends string, TTag extends string, TInput, TOutput extends NonReducibleUnknown>({ actors, actions, guards, delays }: {
18
+ types?: SetupTypes<TContext, TEvent, TTag, TInput, TOutput>;
19
+ actors?: TActors;
20
+ actions?: {
21
+ [K in keyof TActions]: ActionFunction<TContext, TEvent, TEvent, TActions[K], ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay>;
22
+ };
23
+ guards?: {
24
+ [K in keyof TGuards]: GuardPredicate<TContext, TEvent, TGuards[K], ToParameterizedObject<TGuards>>;
25
+ };
26
+ delays?: {
27
+ [K in TDelay]: DelayConfig<TContext, TEvent, ToParameterizedObject<TActions>['params'], TEvent>;
28
+ };
29
+ }): {
30
+ createMachine: (config: MachineConfig<TContext, TEvent, ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag, TInput, TOutput, ResolveTypegenMeta<TypegenDisabled, TEvent, ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag>>) => StateMachine<TContext, TEvent, ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag, TInput, TOutput, ResolveTypegenMeta<TypegenDisabled, TEvent, ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag>>;
31
+ };
32
+ export {};
@@ -1,14 +1,14 @@
1
1
  import { MachineSnapshot } from "./State.js";
2
2
  import type { StateNode } from "./StateNode.js";
3
3
  import { AnyEventObject, AnyHistoryValue, AnyMachineSnapshot, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, EventObject, InitialTransitionConfig, InitialTransitionDefinition, MachineContext, StateValue, StateValueMap, TransitionDefinition, TODO, UnknownAction, AnyTransitionConfig, AnyActorScope } from "./types.js";
4
- type Configuration<TContext extends MachineContext, TE extends EventObject> = Iterable<StateNode<TContext, TE>>;
5
- type AnyConfiguration = Configuration<any, any>;
4
+ type StateNodeIterable<TContext extends MachineContext, TE extends EventObject> = Iterable<StateNode<TContext, TE>>;
5
+ type AnyStateNodeIterable = StateNodeIterable<any, any>;
6
6
  type AdjList = Map<AnyStateNode, Array<AnyStateNode>>;
7
7
  export declare const isAtomicStateNode: (stateNode: StateNode<any, any>) => boolean;
8
- export declare function getConfiguration(stateNodes: Iterable<AnyStateNode>): Set<AnyStateNode>;
9
- export declare function getAdjList<TContext extends MachineContext, TE extends EventObject>(configuration: Configuration<TContext, TE>): AdjList;
10
- export declare function getStateValue(rootNode: AnyStateNode, configuration: AnyConfiguration): StateValue;
11
- export declare function isInFinalState(configuration: Set<AnyStateNode>, stateNode: AnyStateNode): boolean;
8
+ export declare function getAllStateNodes(stateNodes: Iterable<AnyStateNode>): Set<AnyStateNode>;
9
+ export declare function getAdjList<TContext extends MachineContext, TE extends EventObject>(stateNodes: StateNodeIterable<TContext, TE>): AdjList;
10
+ export declare function getStateValue(rootNode: AnyStateNode, stateNodes: AnyStateNodeIterable): StateValue;
11
+ export declare function isInFinalState(stateNodeSet: Set<AnyStateNode>, stateNode: AnyStateNode): boolean;
12
12
  export declare const isStateId: (str: string) => boolean;
13
13
  export declare function getCandidates<TEvent extends EventObject>(stateNode: StateNode<any, TEvent>, receivedEventType: TEvent['type']): Array<TransitionDefinition<any, TEvent>>;
14
14
  /**
@@ -41,7 +41,7 @@ export declare function transitionAtomicNode<TContext extends MachineContext, TE
41
41
  export declare function transitionCompoundNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: MachineSnapshot<TContext, TEvent, any, any, any, any>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
42
42
  export declare function transitionParallelNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: MachineSnapshot<TContext, TEvent, any, any, any, any>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
43
43
  export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, state: MachineSnapshot<TContext, TEvent, any, any, any, any>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
44
- export declare function removeConflictingTransitions(enabledTransitions: Array<AnyTransitionDefinition>, configuration: Set<AnyStateNode>, historyValue: AnyHistoryValue): Array<AnyTransitionDefinition>;
44
+ export declare function removeConflictingTransitions(enabledTransitions: Array<AnyTransitionDefinition>, stateNodeSet: Set<AnyStateNode>, historyValue: AnyHistoryValue): Array<AnyTransitionDefinition>;
45
45
  /**
46
46
  * https://www.w3.org/TR/scxml/#microstepProcedure
47
47
  */
@@ -8,6 +8,9 @@ import { Guard, GuardPredicate, UnknownGuard } from "./guards.js";
8
8
  import { Spawner } from "./spawn.js";
9
9
  import { AssignArgs } from "./actions/assign.js";
10
10
  import { InspectionEvent } from './system.js';
11
+ export type Identity<T> = {
12
+ [K in keyof T]: T[K];
13
+ };
11
14
  export type HomomorphicPick<T, K extends keyof any> = {
12
15
  [P in keyof T as P & K]: T[P];
13
16
  };
@@ -39,6 +42,7 @@ export type Compute<A extends any> = {
39
42
  } & unknown;
40
43
  export type Prop<T, K> = K extends keyof T ? T[K] : never;
41
44
  export type Values<T> = T[keyof T];
45
+ export type Elements<T> = T[keyof T & `${number}`];
42
46
  export type Merge<M, N> = Omit<M, keyof N> & N;
43
47
  export type IndexByProp<T extends Record<P, string>, P extends keyof T> = {
44
48
  [E in T as E[P]]: E;
@@ -68,7 +72,7 @@ export interface AnyEventObject extends EventObject {
68
72
  }
69
73
  export interface ParameterizedObject {
70
74
  type: string;
71
- params?: Record<string, unknown>;
75
+ params?: NonReducibleUnknown;
72
76
  }
73
77
  export interface UnifiedArg<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> {
74
78
  context: TContext;
@@ -95,9 +99,7 @@ export interface ChooseBranch<TContext extends MachineContext, TExpressionEvent
95
99
  guard?: Guard<TContext, TExpressionEvent, undefined, TGuard>;
96
100
  actions: Actions<TContext, TExpressionEvent, TEvent, undefined, TActor, TAction, TGuard, TDelay>;
97
101
  }
98
- export type NoRequiredParams<T extends ParameterizedObject> = T extends any ? {
99
- type: T['type'];
100
- } extends T ? T['type'] : never : never;
102
+ export type NoRequiredParams<T extends ParameterizedObject> = T extends any ? undefined extends T['params'] ? T['type'] : never : never;
101
103
  export type ConditionalRequired<T, Condition extends boolean> = Condition extends true ? Required<T> : T;
102
104
  export type WithDynamicParams<TContext extends MachineContext, TExpressionEvent extends EventObject, T extends ParameterizedObject> = T extends any ? ConditionalRequired<{
103
105
  type: T['type'];
@@ -412,8 +414,8 @@ type GenerateDelaysImplementationsPart<TContext extends MachineContext, TResolve
412
414
  type GenerateGuardsImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = Compute<MaybeMakeMissingImplementationsRequired<'guards', Prop<TMissingImplementations, 'guards'>, TRequireMissingImplementations> & {
413
415
  guards?: MachineImplementationsGuards<TContext, TResolvedTypesMeta>;
414
416
  }>;
415
- export type InternalMachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TDelay extends string, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = Compute<GenerateActionsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateActorsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations>>;
416
- export type MachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
417
+ export type InternalMachineImplementations<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = Compute<GenerateActionsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateActorsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations>>;
418
+ export type MachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineImplementations<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
417
419
  type InitialContext<TContext extends MachineContext, TActor extends ProvidedActor, TInput> = TContext | ContextFactory<TContext, TActor, TInput>;
418
420
  export type ContextFactory<TContext extends MachineContext, TActor extends ProvidedActor, TInput> = ({ spawn, input }: {
419
421
  spawn: Spawner<TActor>;
@@ -439,16 +441,18 @@ export interface ProvidedActor {
439
441
  logic: AnyActorLogic;
440
442
  id?: string;
441
443
  }
442
- export interface MachineTypes<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput, TTypesMeta = TypegenDisabled> {
444
+ export interface SetupTypes<TContext extends MachineContext, TEvent extends EventObject, TTag extends string, TInput, TOutput> {
443
445
  context?: TContext;
444
446
  events?: TEvent;
447
+ tags?: TTag;
448
+ input?: TInput;
449
+ output?: TOutput;
450
+ }
451
+ export interface MachineTypes<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput, TTypesMeta = TypegenDisabled> extends SetupTypes<TContext, TEvent, TTag, TInput, TOutput> {
445
452
  actors?: TActor;
446
453
  actions?: TAction;
447
454
  guards?: TGuard;
448
455
  delays?: TDelay;
449
- tags?: TTag;
450
- input?: TInput;
451
- output?: TOutput;
452
456
  typegen?: TTypesMeta;
453
457
  }
454
458
  export interface HistoryStateNode<TContext extends MachineContext> extends StateNode<TContext> {
@@ -539,7 +543,6 @@ export interface StateLike<TContext extends MachineContext> {
539
543
  export interface StateConfig<TContext extends MachineContext, TEvent extends EventObject> {
540
544
  context: TContext;
541
545
  historyValue?: HistoryValue<TContext, TEvent>;
542
- configuration: Array<StateNode<TContext, TEvent>>;
543
546
  children: Record<string, ActorRef<any, any>>;
544
547
  status: 'active' | 'done' | 'error' | 'stopped';
545
548
  output?: any;
@@ -599,7 +602,7 @@ export interface ActorOptions<TLogic extends AnyActorLogic> {
599
602
  *
600
603
  * @see https://stately.ai/docs/persistence
601
604
  */
602
- state?: any;
605
+ state?: Snapshot<unknown>;
603
606
  /**
604
607
  * The source definition.
605
608
  */
@@ -734,7 +737,7 @@ export type DevToolsAdapter = (service: AnyActor) => void;
734
737
  * @deprecated Use `Actor<T>` instead.
735
738
  */
736
739
  export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer TInput, infer TOutput, infer TResolvedTypesMeta> ? Actor<ActorLogic<MachineSnapshot<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, TEvent, TInput, ActorSystem<any>>> : never;
737
- export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TActor, infer TAction, infer _TGuard, infer TDelay, infer _TTag, infer _TInput, infer _TOutput, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, TResolvedTypesMeta, TRequireMissingImplementations> : never;
740
+ export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TResolvedTypesMeta, TRequireMissingImplementations> : never;
738
741
  export type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, // context
739
742
  any, // event
740
743
  any, // actor