redux-typed-kit
Version:
Powerful extensitions for building class-based Redux architecture powered by TypeScript.
19 lines (18 loc) • 720 B
TypeScript
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>;
}