import type { Status } from '@mkrause/lifecycle-loader'; import * as Location from '../loader/Location.js'; import type { StorablePromise } from '../loader/StorablePromise.js'; import type { Store, AnyAction as ReduxAnyAction, Dispatch as ReduxDispatch } from 'redux'; export declare type Config = { prefix: string; }; declare type StatusType = keyof Status; declare type StoreItem = unknown; export declare const lifecycleActionKey: unique symbol; export declare type LifecycleAction = ReduxAnyAction & { [lifecycleActionKey]: null; type: string; state: S; path: Location.Location; requestId: string; item: S extends 'ready' ? StoreItem : undefined; reason: S extends 'failed' ? Error : undefined; update: (item: T) => undefined | T; }; export declare const isLifecycleAction: (action: ReduxAnyAction) => action is LifecycleAction; declare const _default: (configPartial?: Partial) => (store: Store) => (next: ReduxDispatch) => (action: A) => A | StorablePromise; export default _default; //# sourceMappingURL=middleware.d.ts.map