UNPKG

@equinor/fusion-observable

Version:
16 lines (15 loc) 1.67 kB
import { type PayloadActionCreator } from './create-action'; import type { PrepareAction } from './create-action'; import type { Action, ActionWithSuffix, AnyAction } from './types'; export declare function createAsyncAction<PA extends PrepareAction<any>, PA_Success extends PrepareAction<any>, T extends string>(type: T, request: PA, success: PA_Success): PayloadActionCreator<ReturnType<PA>['payload'], `${T}::request`, PA> & { success: PayloadActionCreator<ReturnType<PA_Success>['payload'], `${T}::success`, PA_Success>; }; export declare function createAsyncAction<PA extends PrepareAction<any>, PA_Success extends PrepareAction<any>, PA_Failure extends PrepareAction<any>, T extends string>(type: T, request: PA, success: PA_Success, failure: PA_Failure): PayloadActionCreator<ReturnType<PA>['payload'], `${T}::request`, PA> & { success: PayloadActionCreator<ReturnType<PA_Success>['payload'], `${T}::success`, PA_Success>; failure: PayloadActionCreator<ReturnType<PA_Failure>['payload'], `${T}::failure`, PA_Failure>; }; export declare function isActionWithSuffix<A extends Action, Suffix extends string>(action: A, suffix: Suffix): action is ActionWithSuffix<A, Suffix>; export declare const isRequestAction: <A extends AnyAction>(action: A) => action is ActionWithSuffix<A, "request">; export declare const isSuccessAction: <A extends AnyAction>(action: A) => action is ActionWithSuffix<A, "success">; export declare const isFailureAction: <A extends AnyAction>(action: A) => action is ActionWithSuffix<A, "failure">; export declare const isCompleteAction: <A extends AnyAction>(action: A) => action is ActionWithSuffix<A, "success" | "failure">;