import type * as runtime from "@cloudflare/workers-types"; import * as Effect from "effect/Effect"; import { Worker, WorkerEnvironment } from "../Workers/Worker.ts"; import type { Queue } from "./Queue.ts"; import { SendError } from "./QueueTypes.ts"; /** * Shared scaffolding for the Worker-binding implementations of the Queue * services. * * Resolves the {@link WorkerEnvironment} and host {@link Worker}, registers * the `queue` binding at deploy time, then delegates to `makeClient` with the * shared {@link makeQueueHelpers} to build the producer client. */ export declare const makeQueueBinding: (options: { makeClient: (helpers: ReturnType) => Client; }) => Effect.Effect<(queue: Queue) => Effect.Effect, never, WorkerEnvironment | Worker>; /** Primitives shared by the Worker-binding producer clients. */ export declare const makeQueueHelpers: (env: Record, queue: Queue) => { raw: Effect.Effect, never, never>; use: (fn: (raw: runtime.Queue) => Promise) => Effect.Effect; tryPromise: (fn: () => Promise) => Effect.Effect; }; //# sourceMappingURL=QueueBinding.d.ts.map