import type { Effect } from 'effect'; import type { HandlerName } from '../../domain/identity/index.js'; import type { OutboxFlow } from '../../flow/sync-flow/index.js'; import type { Request } from '../entries/index.js'; export type Handler = { readonly flow?: OutboxFlow | null; } & ({ readonly kind: 'entity'; readonly send: (request: Request) => Effect.Effect; } | { readonly kind: 'action'; readonly send: (payload: unknown, entryId: string) => Effect.Effect; }); export type Handlers = { readonly register: (name: HandlerName, handler: Handler) => void; readonly lookup: (name: HandlerName) => Handler | null; }; export declare const makeHandlers: () => Handlers; //# sourceMappingURL=handlers.d.ts.map