1 | import type { AnyStateMachine, AreAllImplementationsAssumedToBeProvided, EventObject, InternalMachineOptions, InterpreterFrom, InterpreterOptions, Prop, StateConfig, StateFrom } from 'xstate';
|
2 | import type { Getter, WritableAtom } from 'jotai';
|
3 | export declare const RESTART: unique symbol;
|
4 | export interface MachineAtomOptions<TContext, TEvent extends EventObject> {
|
5 | |
6 |
|
7 |
|
8 | context?: Partial<TContext>;
|
9 | |
10 |
|
11 |
|
12 |
|
13 | state?: StateConfig<TContext, TEvent>;
|
14 | }
|
15 | declare type Options<TMachine extends AnyStateMachine> = AreAllImplementationsAssumedToBeProvided<TMachine['__TResolvedTypesMeta']> extends false ? InterpreterOptions & MachineAtomOptions<TMachine['__TContext'], TMachine['__TEvent']> & InternalMachineOptions<TMachine['__TContext'], TMachine['__TEvent'], TMachine['__TResolvedTypesMeta'], true> : InterpreterOptions & MachineAtomOptions<TMachine['__TContext'], TMachine['__TEvent']> & InternalMachineOptions<TMachine['__TContext'], TMachine['__TEvent'], TMachine['__TResolvedTypesMeta']>;
|
16 | declare type MaybeParam<T> = T extends (v: infer V) => unknown ? V : never;
|
17 | export declare function atomWithMachine<TMachine extends AnyStateMachine, TInterpreter = InterpreterFrom<TMachine>>(getMachine: TMachine | ((get: Getter) => TMachine), getOptions?: Options<TMachine> | ((get: Getter) => Options<TMachine>)): WritableAtom<StateFrom<TMachine>, MaybeParam<Prop<TInterpreter, 'send'>> | typeof RESTART, void>;
|
18 | export {};
|