// Remote actions - these only come FROM the socket export enum ActionTypeRemote { StateSet = 'STATE_SET', ClientListUpdated = 'CLIENT_LIST_UPDATED', } // Local actions - these are dispatched from this client export enum ActionTypeLocal { ErrorOccurred = '@@local/ERROR_OCCURRED', NameSet = '@@local/NAME_SET', StateSet = '@@local/STATE_SET', Seeked = '@@local/SEEKED', MasterRetaken = '@@local/MASTER_RETAKEN', } interface Action { type: T; payload: P; } export type ActionRemote = Action< T, P > & { fromClient?: string | null }; export type ActionLocal = Action;