import { Action } from './types'; import { SagaMiddleware } from 'redux-saga'; import { SagaOptions } from './types'; export declare type Saga = (...args: any[]) => Iterator; declare class SagaRunner { private sagaOptions; private subscribes; private stores; private sagaMiddleware; private bindRunSaga; constructor(sagaOptions?: SagaOptions); /** * 派发一个action * @param {T} action * @returns {T} */ dispatch(action: T): T; /** * 非SagaMiddleware连接模式下,select副作用会使用这个方法 * @returns {{[p: string]: any}} */ getState(): { [name: string]: any; }; /** * 执行saga方法 * @param {Saga} saga * @param args * @returns {any} */ runSaga(saga: Saga, ...args: any[]): any; /** * 注册store * @param {string} key store的key * @param store store对象 */ registerStore(key: string, store: any): void; /** * 根据key注销store * @param {string} key */ unRegisterStore(key: string): void; /** * 将sagaRunner与SagaMiddleware连接 * 注意:连接后无法通过select副作用获取store * @param {SagaMiddleware} middleware */ useSagaMiddleware(middleware: SagaMiddleware): void; private subscribe(callback); private rawRunSaga(options, saga, ...args); } export default SagaRunner;