import { Context, Effect, Layer } from "effect"; import { AcpConnectionError } from "./schema.js"; import { SessionRepo } from "./session-repo.js"; import type { WriteOp } from "./write-ops.js"; export interface WriteQueueStats { readonly sessions: number; readonly queuedOps: number; readonly queuedBytes: number; readonly bySession: ReadonlyArray<{ sessionId: string; queuedOps: number; queuedBytes: number; flushing: boolean; }>; } declare const WriteQueue_base: Context.TagClass Effect.Effect; readonly enqueueMany: (ops: ReadonlyArray) => Effect.Effect; readonly flushSession: (sessionId: string) => Effect.Effect; readonly flushAll: (timeoutMs?: number) => Effect.Effect; readonly pendingSize: (sessionId: string) => number; readonly stats: () => WriteQueueStats; }>; export declare class WriteQueue extends WriteQueue_base { static readonly layer: Layer.Layer; } export {};