import { DispatchOpts, JobEnvelope, JobRegistry, QueueBatch } from "./index.js";
//#region src/cf-queues.d.ts
/** CF `Queue` binding — structural subset used by this adapter. */
type QueueBinding<T = unknown> = {
  send(message: T, options?: {
    contentType?: string;
    delaySeconds?: number;
  }): Promise<void>;
};
/** Name → binding map for many named queues. */
type QueueBindings = Record<string, QueueBinding>;
declare function enqueue<T>(queue: QueueBinding<T>, body: T): Promise<void>;
declare function resolveQueue(bindings: QueueBindings, name: string): QueueBinding;
declare function consume<E>(registry: JobRegistry<E>, batch: QueueBatch<JobEnvelope>, env: E, opts?: DispatchOpts<E>): Promise<void>;
//#endregion
export { QueueBinding, QueueBindings, consume, enqueue, resolveQueue };