import { type OperationOptionsBase, type ProcessErrorArgs, ServiceBusClient, type ServiceBusMessage, type ServiceBusMessageBatch, type ServiceBusReceivedMessage, type ServiceBusReceiver } from "@azure/service-bus"; import * as Context from "effect-app/Context"; import * as Effect from "effect-app/Effect"; import * as Layer from "effect-app/Layer"; import type * as Scope from "effect/Scope"; declare const ServiceBusClientTag_base: Context.OpaqueClass & { readonly make: (url: string) => Effect.Effect; }; export declare class ServiceBusClientTag extends ServiceBusClientTag_base { static readonly layer: (url: string) => Layer.Layer; } declare const Sender_base: Context.OpaqueClass) => Effect.Effect; }> & { readonly make: (name: string) => Effect.Effect<{ name: string; sendMessages: (messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: Omit) => Effect.Effect; }, never, Scope.Scope | ServiceBusClientTag>; }; export declare class Sender extends Sender_base { static readonly layer: (name: string) => Layer.Layer; } export declare const SenderTag: () => (queueName: Key) => Context.Service & { layer: Layer.Layer; }; declare const Receiver_base: Context.OpaqueClass) => Effect.Effect; makeSession: (sessionId: string, waitTillEmpty: Effect.Effect) => Effect.Effect; subscribe(hndlr: MessageHandlers, sessionId?: string): Effect.Effect; }>; export declare class Receiver extends Receiver_base { static readonly make: (name: string) => Effect.Effect<{ name: string; make: (waitTillEmpty: Effect.Effect) => Effect.Effect; makeSession: (sessionId: string, waitTillEmpty: Effect.Effect) => Effect.Effect; subscribe: (hndlr: MessageHandlers, sessionId?: string | undefined) => Effect.Effect; }, never, ServiceBusClientTag>; static readonly layer: (name: string) => Layer.Layer; } export declare const ReceiverTag: () => (queueName: Key) => Context.Service & { layer: Layer.Layer; }; export declare const SenderReceiver: (queue: string, queueDrain?: string) => Layer.Layer; export interface MessageHandlers { /** * Handler that processes messages from service bus. * * @param message - A message received from Service Bus. */ processMessage(message: ServiceBusReceivedMessage): Effect.Effect; /** * Handler that processes errors that occur during receiving. * @param args - The error and additional context to indicate where * the error originated. */ processError(args: ProcessErrorArgs): Effect.Effect; } export {}; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUJ1cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL1NlcnZpY2VCdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLGlCQUFpQixFQUFFLEtBQUssc0JBQXNCLEVBQUUsS0FBSyx5QkFBeUIsRUFBRSxLQUFLLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDck4sT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQTtBQUM3QyxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQzNDLE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUE7QUFJekMsT0FBTyxLQUFLLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTs7OztBQWlCMUMscUJBQWEsbUJBQ1gsU0FBUSx3QkFBaUc7SUFFekcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFFBQVMsTUFBTSxvREFBaUM7Q0FDdEU7O1VBMEJPLE1BQU07a0JBQ0UsQ0FDWixRQUFRLEVBQUUsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxzQkFBc0IsRUFDMUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxLQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQzs7O2NBSmxCLE1BQU07c0JBQ0UsQ0FDWixRQUFRLEVBQUUsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxzQkFBc0IsRUFDMUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxLQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQzs7O0FBTDFCLHFCQUFhLE1BQU8sU0FBUSxXQU1RO0lBQ2xDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxTQUFVLE1BQU0scURBQWtDO0NBQ3hFO0FBRUQsZUFBTyxNQUFNLFNBQVMsR0FBSSxFQUFFLFFBQVEsR0FBRyxTQUFTLE1BQU0sYUFBYSxHQUFHOztDQVNyRSxDQUFBOztVQXVHTyxNQUFNO1VBQ04sQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO2lCQUN0RixDQUNYLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDO2NBQ2hELElBQUksRUFBRSxJQUFJLFNBQ1gsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FDdEIsTUFBTSxHQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDOztBQVYxRCxxQkFBYSxRQUFTLFNBQVEsYUFXZDtJQUNkLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTs7OEJBcEZTLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO2lDQUVoQixNQUFNLGlCQUFpQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFPakMsSUFBSSxFQUFFLElBQUk7bUNBMkVoQjtJQUNuQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssU0FBVSxNQUFNLHVEQUFxQztDQUMzRTtBQUVELGVBQU8sTUFBTSxXQUFXLEdBQUksRUFBRSxRQUFRLEdBQUcsU0FBUyxNQUFNLGFBQWEsR0FBRzs7Q0FTdkUsQ0FBQTtBQUVELGVBQU8sTUFBTSxjQUFjLFVBQVcsTUFBTSxlQUFlLE1BQU0sK0RBQ1MsQ0FBQTtBQUUxRSxNQUFNLFdBQVcsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJO0lBQ3pDOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsT0FBTyxFQUFFLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUNwRjs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7Q0FDdkUifQ==