UNPKG

redux-typed-kit

Version:

Powerful extensitions for building class-based Redux architecture powered by TypeScript.

19 lines (18 loc) 720 B
import { Dispatch, AnyAction, Unsubscribe } from 'redux'; import State from './state'; import Action from './action'; import { Middleware } from './middleware'; import RootReducer from './root-reducer'; export default class Store<S extends State> { private p_store; private p_reducer; private p_middlewares; constructor(reducer: RootReducer, ...middlewares: (Middleware<S> | any)[]); private getEnhancer; init(): Store<S>; addMiddleware(middleware: Middleware<S> | any): void; getMiddleware<M extends Middleware<S>>(type: string): M; subscribe(listener: () => void): Unsubscribe; get state(): S; dispatch<A extends Action>(action: A): Dispatch<AnyAction>; }