import { TypeConstant, ActionBuilderConstructor } from './type-helpers'; export declare type AsyncActionCreator = { request: ActionBuilderConstructor; success: ActionBuilderConstructor; failure: ActionBuilderConstructor; cancel: TCancel extends [TypeConstant, any] ? ActionBuilderConstructor : never; }; export interface AsyncActionBuilder { (): AsyncActionCreator<[TType1, TPayload1], [TType2, TPayload2], [TType3, TPayload3], [TType4, TPayload4]>; (): AsyncActionCreator<[TType1, TPayload1], [TType2, TPayload2], [TType3, TPayload3]>; } /** * implementation */ export declare function createAsyncAction(requestType: TType1, successType: TType2, failureType: TType3, cancelType?: TType4): AsyncActionBuilder;