@bemedev/app-react
Version:
Use app-ts inside react
17 lines • 916 B
TypeScript
import { AnyMachine, InterpretArgs, StateFrom, DecomposedStateFrom, EventsMapFrom, AddOptionsFrom } from '@bemedev/app-ts';
import { Compare_F } from './utils';
import { EventArg } from '@bemedev/app-ts/lib/events';
type VoidFn = () => Promise<void>;
export type Return_F<M extends AnyMachine> = {
start: VoidFn;
stop: VoidFn;
send: (event: EventArg<EventsMapFrom<M>>) => void;
useState: {
<T>(selector: (state: StateFrom<M>) => T, compare?: Compare_F<T>): T;
byKey<K extends keyof DecomposedStateFrom<M> = never, T extends K extends never ? StateFrom<M> : DecomposedStateFrom<M>[K] = K extends never ? StateFrom<M> : DecomposedStateFrom<M>[K]>(key?: K, compare?: Compare_F<T>): T;
};
addOptions: AddOptionsFrom<M>;
};
export type Interpret_F = <const M extends AnyMachine = AnyMachine>(...args: InterpretArgs<M>) => Return_F<M>;
export {};
//# sourceMappingURL=types.d.ts.map