mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-08-27 11:40:08 +08:00
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
// Type definitions for Redux v1.0.0
|
|
// Project: https://github.com/rackt/redux
|
|
// Definitions by: William Buchwalter <https://github.com/wbuchwalter/>, Vincent Prouillet <https://github.com/Keats/>
|
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
|
|
|
declare module Redux {
|
|
|
|
interface ActionCreator extends Function {
|
|
(...args: any[]): any;
|
|
}
|
|
|
|
interface Reducer extends Function {
|
|
(state: any, action: any): any;
|
|
}
|
|
|
|
interface Dispatch extends Function {
|
|
(action: any): any;
|
|
}
|
|
|
|
interface StoreMethods {
|
|
dispatch: Dispatch;
|
|
getState(): any;
|
|
}
|
|
|
|
|
|
interface MiddlewareArg {
|
|
dispatch: Dispatch;
|
|
getState: Function;
|
|
}
|
|
|
|
interface Middleware extends Function {
|
|
(obj: MiddlewareArg): Function;
|
|
}
|
|
|
|
class Store {
|
|
getReducer(): Reducer;
|
|
replaceReducer(nextReducer: Reducer): void;
|
|
dispatch(action: any): any;
|
|
getState(): any;
|
|
subscribe(listener: Function): Function;
|
|
}
|
|
|
|
function createStore(reducer: Reducer, initialState?: any): Store;
|
|
function bindActionCreators<T>(actionCreators: T, dispatch: Dispatch): T;
|
|
function combineReducers(reducers: any): Reducer;
|
|
function applyMiddleware(...middleware: Middleware[]): Function;
|
|
}
|
|
|
|
declare module "redux" {
|
|
export = Redux;
|
|
} |