import { EventEmitter } from '../../util/eventEmitter'; import Dispatcher from '../../util/dispatcher'; interface BaseStoreEvents { updated: (newState: STATE, prevState?: STATE) => void; } export default abstract class BaseStore extends EventEmitter< BaseStoreEvents > { private _state; protected readonly dispatcher: Dispatcher; constructor(dispatcher: Dispatcher); abstract handle(type: K, payload: ACTIONS[K]): void; abstract getInitialState(): STATE; private _handle; setState(newState: STATE): void; get state(): STATE; } export {};