import { EmptyActionCreator, ActionCreator } from 'typescript-fsa' export interface IPlaybook { reportType: string name: string id: number actions: any createdAuthorId: number } export interface IPlaybookAction { email: string tabId: number } export interface IEnrollAction extends IPlaybookAction { playbookId: number action: any } export interface IEnrollFailedAction extends IPlaybookAction { error: string } export interface IFetchPlaybookForEndUserAction extends IPlaybookAction { playbookId?: number tabId: number } export interface ISearchPlaybooksOptions { accessToken: string } export interface IEnrollOptions { accessToken: string endUserId?: number playbookId: number email?: string action?: any } export interface IFetchEnrolledSequenceCountOptions { accessToken: string } export interface IFetchPlaybookForEndUserOptions { accessToken: string email: string playbookId: number } export interface IEnrollModalContainerMapStateToProps { emails: string[] enrolledSequenceCount: number enrolledSequenceCountLoaded: boolean playbookForEndUser: IPlaybook playbookList: IPlaybook[] fetchPlaybookForEndUserPending: boolean enrollingPlaybookId?: number enrollSucceeded: boolean enrollFailed: boolean enrollPending: boolean enrollErrorsByEmail: { string: string } hasSalesSequences: boolean refreshPending: boolean isAdmin: boolean usersById: { number: any } } export interface IEnrollModalContainerMapDispatchToProps { actions: { enroll: ActionCreator searchFocused: ActionCreator fetchPlaybookForEndUser: ActionCreator setPlaybookForEndUserMessage: ActionCreator setPlaybookForEndUserSubject: ActionCreator clearState: ActionCreator searchPlaybooks: EmptyActionCreator } } export interface IEnrollModalContainerProps { tabId: number } export interface IEnrollModalProps extends IEnrollModalContainerProps, IEnrollModalContainerMapDispatchToProps, IEnrollModalContainerMapStateToProps { }