import type { Config, ConfigTypes, Options, PromiseState, StateDefinition, Transition, TransitionArray, TransitionDefinition } from './types'; export type MarchineArgs = ConfigTypes, R = T['context']> = { _states: StateDefinition[]; initial: string; context: T['context']; config: C; options?: Options; }; type NextArgs = Record> = { state: string; events: TA; context: TC; }; type NextResult = Record, R = TC> = { state?: string; context: TC; data?: R; hasNext: boolean; }; export type NextFunction = Record, R = TC> = (props: NextArgs) => NextResult; export type NextFunctionAsync = Record, R = TC> = (props: NextArgs) => Promise>; export type ExtractFunctionProps = ConfigTypes> = { source: string; options?: Omit, 'overflow' | 'datas'>; __keys: string[]; }; export type ExtractFunction = (value?: Transition) => TransitionDefinition; export type PropsExtractorTransition = ConfigTypes> = { source: string; always?: Transition | TransitionArray; options?: Omit, 'overflow' | 'datas'>; __keys: string[]; }; export type PropsExtractorPromise = ConfigTypes> = { source: string; promises: PromiseState['invoke']; options?: Omit, 'overflow' | 'datas'>; __keys: string[]; }; export type CloneArgs = ConfigTypes> = { config?: Partial; options?: Options; }; export {}; //# sourceMappingURL=Machine.types.d.ts.map