import type * as Scope from "effect/Scope" import type { NonEmptyReadonlyArray } from "./Array.js" import type * as Effect from "./Effect.js" import { RequestContext } from "./RequestContext.js" export interface QueueBase { drain: ( makeHandleEvent: (ks: DrainEvt) => Effect.Effect, sessionId?: string ) => Effect.Effect publish: ( ...messages: NonEmptyReadonlyArray ) => Effect.Effect } export interface QueueMakerOps {} export const QueueMaker: QueueMakerOps = {} export const QueueMeta = RequestContext