import { Aggregate, CommandAdapter, Policy, ProcessManager, Projector } from "./artifacts"; import { Messages, State } from "./messages"; /** * Aggregate factories build aggregates */ export type AggregateFactory = (stream: string) => Aggregate; /** * Policy factories build policies */ export type PolicyFactory = () => Policy; /** * Process manager factories build process managers */ export type ProcessManagerFactory = () => ProcessManager; /** * Projector factories build projectors */ export type ProjectorFactory = () => Projector; /** * Command adapter factories build command adapters */ export type CommandAdapterFactory

= () => CommandAdapter; /** * All streamable factories */ export type StreamableFactory = AggregateFactory; /** * All reducible factories */ export type ReducibleFactory = AggregateFactory | ProcessManagerFactory; /** * All command handler factories */ export type CommandHandlerFactory = AggregateFactory; /** * All event handler factories */ export type EventHandlerFactory = ProcessManagerFactory | PolicyFactory; /** * All message handler factories */ export type ArtifactFactory = CommandHandlerFactory | EventHandlerFactory | CommandAdapterFactory | ProjectorFactory; //# sourceMappingURL=factories.d.ts.map