1 | import type { Middleware, AnyAction } from 'redux';
|
2 | import type { ThunkMiddleware } from 'redux-thunk';
|
3 | import type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware';
|
4 | import type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware';
|
5 | import { MiddlewareArray } from './utils';
|
6 | interface ThunkOptions<E = any> {
|
7 | extraArgument: E;
|
8 | }
|
9 | interface GetDefaultMiddlewareOptions {
|
10 | thunk?: boolean | ThunkOptions;
|
11 | immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions;
|
12 | serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions;
|
13 | }
|
14 | export declare type ThunkMiddlewareFor<S, O extends GetDefaultMiddlewareOptions = {}> = O extends {
|
15 | thunk: false;
|
16 | } ? never : O extends {
|
17 | thunk: {
|
18 | extraArgument: infer E;
|
19 | };
|
20 | } ? ThunkMiddleware<S, AnyAction, E> : ThunkMiddleware<S, AnyAction, null> | ThunkMiddleware<S, AnyAction>;
|
21 | export declare type CurriedGetDefaultMiddleware<S = any> = <O extends Partial<GetDefaultMiddlewareOptions> = {
|
22 | thunk: true;
|
23 | immutableCheck: true;
|
24 | serializableCheck: true;
|
25 | }>(options?: O) => MiddlewareArray<Middleware<{}, S> | ThunkMiddlewareFor<S, O>>;
|
26 | export declare function curryGetDefaultMiddleware<S = any>(): CurriedGetDefaultMiddleware<S>;
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 | export declare function getDefaultMiddleware<S = any, O extends Partial<GetDefaultMiddlewareOptions> = {
|
37 | thunk: true;
|
38 | immutableCheck: true;
|
39 | serializableCheck: true;
|
40 | }>(options?: O): MiddlewareArray<Middleware<{}, S> | ThunkMiddlewareFor<S, O>>;
|
41 | export {};
|