/** Copyright (c) 2018 Uber Technologies, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ import type { ReactorAction } from 'redux-reactors'; import type { Reducer, Store } from 'redux'; export type ActionType = { type: string; payload: any; }; type RPCReactorsType = { start: ReactorAction; success: ReactorAction; failure: ReactorAction; }; type RPCReducersType = { start?: Reducer; success?: Reducer; failure?: Reducer; }; type ActionNamesType = { failure: string; start: string; success: string; }; type ActionTypesType = keyof ActionNamesType; type Action = { type: TType; payload: TPayload; }; type RPCActionsType = { [T in ActionTypesType]: (payload: any) => Action; }; export declare function createRPCActions(rpcId: string): RPCActionsType; export declare function createRPCReducer(rpcId: string, reducers: RPCReducersType, startValue?: S): Reducer; export declare function createRPCReactors(rpcId: string, reducers: RPCReducersType): RPCReactorsType; type RPCHandlerType = (args: any) => any; export declare function createRPCHandler({ actions, store, rpc, rpcId, mapStateToParams, transformParams, }: { actions?: RPCActionsType; store: Store; rpc: any; rpcId: string; mapStateToParams?: (state: any, args?: any) => any; transformParams?: (params: any) => any; }): RPCHandlerType; export {}; //# sourceMappingURL=index.d.ts.map