types.ts
 1  export interface OnboardStatusState {
 2    sessionStarted: boolean;
 3    slideNumber: number;
 4  }
 5  
 6  export enum OnboardStatusActions {
 7    START_SESSION = 'ONBOARD_STATUS_START_SESSION',
 8    RESUME_SLIDE = 'ONBOARD_STATUS_RESUME_SLIDE',
 9    DECREMENT_SLIDE = 'ONBOARD_STATUS_DECREMENT_SLIDE',
10    INCREMENT_SLIDE = 'ONBOARD_STATUS_INCREMENT_SLIDE'
11  }
12  
13  export interface StartOnboardSessionAction {
14    type: OnboardStatusActions.START_SESSION;
15  }
16  
17  export interface ResumeSlideAction {
18    type: OnboardStatusActions.RESUME_SLIDE;
19    slideNumber: number;
20  }
21  
22  export interface DecrementSlideAction {
23    type: OnboardStatusActions.DECREMENT_SLIDE;
24  }
25  
26  export interface IncrementSlideAction {
27    type: OnboardStatusActions.INCREMENT_SLIDE;
28  }
29  
30  export type OnboardStatusAction =
31    | StartOnboardSessionAction
32    | ResumeSlideAction
33    | DecrementSlideAction
34    | IncrementSlideAction;