import makeActionCreator, { ActionCreator } from './makeActionCreator'; import { Action } from '.'; export declare const ACTION_ASYNC_REQUEST_SUFFIX: string; export declare const ACTION_ASYNC_SUCCESS_SUFFIX: string; export declare const ACTION_ASYNC_FAILURE_SUFFIX: string; export declare const ACTION_ASYNC_PROGRESS_SUFFIX: string; export declare const ACTION_ASYNC_CANCEL_SUFFIX: string; export declare const ACTION_ASYNC_SUCCESS_METHOD: string; export declare const ACTION_ASYNC_FAILURE_METHOD: string; export declare const ACTION_ASYNC_PROGRESS_METHOD: string; export declare const ACTION_ASYNC_CANCEL_METHOD: string; export type AsyncActionCreator = ActionCreator & AsyncActionCreatorProps export interface AsyncActionCreatorProps { success: ActionCreator; failure: ActionCreator; progress: ActionCreator; cancel: ActionCreator; } /** * Wrapper around makeActionCreator(), to help create multiple actions * creators for usage in async/side effects middlewares like * redux-thunk, redux-saga or redux-observable. * * @template A The type of action the function can responde to * * @param {string} name The type name of the action * * @param {makeActionCreator.ArgsMapperFN} [argsMapper] Arguments mapper function * * @param {makeActionCreator.Options} [options] Optional data to pass to action creator * * @returns {AsyncActionCreator} Async action creator */ export declare function makeAsyncActionCreator( name: string, /** * A mapper function that enables us to shape the payload and/or the meta */ argsMapper?: makeActionCreator.ArgsMapperFN, /** * Options to pass to action creator * - argsMapper - Arguments mapper function * - defaultMeta - Default metadata for the action */ options?: makeActionCreator.Options ): AsyncActionCreator; export declare namespace makeAsyncActionCreator { /** * Create an action creator with default prefix or metadata */ export function withDefaults(args: makeActionCreator.DefaultsArg): ( name: string, /** * A mapper function that enables us to shape the payload and/or the meta */ argsMapper?: (arg?: any) => { payload?: A['payload'], meta?: A['meta'], [name: string]: any }, /** * Options to pass to action creator * - argsMapper - Arguments mapper function * - defaultMeta - Default metadata for the action */ options?: any ) => AsyncActionCreator; } export default makeAsyncActionCreator;