Files
rrweb/src/declarations/@xstate/fsm/index.d.ts
2020-04-12 15:16:30 +08:00

23 lines
667 B
TypeScript

import * as fsm from '@xstate/fsm';
declare module '@xstate/fsm' {
export namespace StateMachine {
interface Service<
TContext extends object,
TEvent extends fsm.EventObject,
TState extends fsm.Typestate<TContext> = any
> {
send: (event: TEvent | TEvent['type']) => void;
subscribe: (
listener: StateListener<State<TContext, TEvent, TState>>,
) => {
unsubscribe: () => void;
};
start: () => Service<TContext, TEvent, TState>;
stop: () => Service<TContext, TEvent, TState>;
readonly status: fsm.InterpreterStatus;
readonly state: State<TContext, TEvent, TState>;
}
}
}