/** * Typed in-process event bus for hook invocations. * * Built on `PubSub` + `Stream.fromPubSub`, this lets consumers build reactive * pipelines over decoded hook events without inventing their own subscription * plumbing. * * @since 0.1.0 */ import * as Context from 'effect/Context'; import * as Effect from 'effect/Effect'; import * as Layer from 'effect/Layer'; import * as Stream from 'effect/Stream'; import type * as Events from './Events/index.js'; export declare namespace HookBus { /** * The hook bus service interface. * * @category Service * @since 0.1.0 */ export interface Interface { readonly publish: (event: Events.HookInput) => Effect.Effect; readonly events: Stream.Stream; readonly stream: (eventName: T) => Stream.Stream>; } const Service_base: Context.ServiceClass; /** * The hook bus service tag. * * @category Service * @since 0.1.0 */ export class Service extends Service_base { } /** * Construct an in-process hook bus layer. * * @category Layers * @since 0.1.0 */ export const layer: Layer.Layer; export {}; } /** * Effectful access to the hook bus service. * * @category Accessors * @since 0.1.0 */ export declare const bus: Effect.Effect; /** * Publish one hook event to the current bus. * * @category Accessors * @since 0.1.0 */ export declare const publish: (event: Events.HookInput) => Effect.Effect; //# sourceMappingURL=Bus.d.ts.map