import { Effect, Stream, Scope } from 'effect'; declare const StreamingError_base: new = {}>(args: import("effect/Types").Equals extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & { readonly _tag: "StreamingError"; } & Readonly; /** * Error that occurs when streaming operations fail */ export declare class StreamingError extends StreamingError_base<{ readonly message: string; readonly cause?: unknown; }> { } /** * Interface for event streaming */ export interface StreamHandlerService { /** * Subscribe to events for a specific stream */ readonly subscribeToStream: (streamId: TStreamId) => Effect.Effect, StreamingError, Scope.Scope>; /** * Publish an event to subscribers */ readonly publishToStream: (streamId: TStreamId, event: TEvent) => Effect.Effect; /** * Get metrics about current stream subscribers */ readonly getStreamMetrics: () => Effect.Effect<{ readonly activeStreams: number; readonly totalEventsProcessed: number; }, never, never>; } export {}; //# sourceMappingURL=StreamHandler.d.ts.map