import type { IPubSubMessageShape } from '../channels/pubSubMessage'; export declare type IAction = P extends void ? { type: T; } : P extends unknown ? { type: T; payload?: unknown; } : { type: T; payload: P; }; export declare type IAnyAction = IAction; export declare type AnyHandler = (action: IPubSubMessageShape) => Promise; export declare type FeatureHandler = AnyHandler>;