import { ActionFactoryActionType, ActionFactoryPayloadType, Store } from '@zedux/core'; import { Ecosystem } from './Ecosystem'; import { MaybeCleanup } from '../types/index'; import { pluginActions } from '../utils/plugin-actions'; declare type ValuesOf> = Rec extends Record ? T : never; export declare type Mod = keyof typeof pluginActions; export declare type ModAction = ActionFactoryActionType>; export declare type ModPayloadMap = { [K in Mod]: ActionFactoryPayloadType<(typeof pluginActions)[K]>; }; export declare class ZeduxPlugin { /** * These actions should only be dispatched to an ecosystem's modBus * store, so they don't need prefixes */ static actions: { ecosystemWiped: import("@zedux/core").ActionFactory<{ ecosystem: Ecosystem; }, "ecosystemWiped">; edgeCreated: import("@zedux/core").ActionFactory<{ dependency: import("../types/atoms").AnyAtomInstance<"any"> | import("./Selectors").SelectorCache; dependent: string | import("../types/atoms").AnyAtomInstance<"any"> | import("./Selectors").SelectorCache; edge: import("../types/index").DependentEdge; }, "edgeCreated">; edgeRemoved: import("@zedux/core").ActionFactory<{ dependency: import("../types/atoms").AnyAtomInstance<"any"> | import("./Selectors").SelectorCache; dependent: string | import("../types/atoms").AnyAtomInstance<"any"> | import("./Selectors").SelectorCache; edge: import("../types/index").DependentEdge; }, "edgeRemoved">; evaluationFinished: import("@zedux/core").ActionFactory<{ node: import("../types/atoms").AnyAtomInstance<"any"> | import("./Selectors").SelectorCache; time: number; }, "evaluationFinished">; instanceReused: import("@zedux/core").ActionFactory<{ instance: import("../types/atoms").AnyAtomInstance<"any">; template: import("../types/atoms").AnyAtomTemplate<"any">; }, string>; stateChanged: import("@zedux/core").ActionFactory<{ action?: import("@zedux/core").ActionChain | undefined; cache?: import("./Selectors").SelectorCache | undefined; instance?: import("../types/atoms").AnyAtomInstance<"any"> | undefined; newState: any; oldState: any; reasons: import("../types/index").EvaluationReason[]; }, "stateChanged">; statusChanged: import("@zedux/core").ActionFactory<{ newStatus: import("../types/index").LifecycleStatus; node: import("../types/atoms").AnyAtomInstance<"any"> | import("./Selectors").SelectorCache; oldStatus: import("../types/index").LifecycleStatus; }, "statusChanged">; }; modStore: Store; registerEcosystem: (ecosystem: Ecosystem) => MaybeCleanup; constructor({ initialMods, registerEcosystem, }?: { initialMods?: Mod[]; registerEcosystem?: (ecosystem: Ecosystem) => MaybeCleanup; }); } export {};