import { type OperationOptionsBase, type ProcessErrorArgs, ServiceBusClient, type ServiceBusMessage, type ServiceBusMessageBatch, type ServiceBusReceivedMessage, type ServiceBusReceiver } from "@azure/service-bus"; import { Context, Effect, Layer, type Scope } from "effect-app"; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmljZUJ1cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0ZXJzL1NlcnZpY2VCdXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLGlCQUFpQixFQUFFLEtBQUssc0JBQXNCLEVBQUUsS0FBSyx5QkFBeUIsRUFBRSxLQUFLLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDck4sT0FBTyxFQUFTLE9BQU8sRUFBRSxNQUFNLEVBQWtCLEtBQUssRUFBRSxLQUFLLEtBQUssRUFBRSxNQUFNLFlBQVksQ0FBQTs7OztBQWtCdEYscUJBQWEsbUJBQ1gsU0FBUSx3QkFBaUc7SUFFekcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFFBQVMsTUFBTSxvREFBaUM7Q0FDdEU7O1VBMEJPLE1BQU07a0JBQ0UsQ0FDWixRQUFRLEVBQUUsaUJBQWlCLEdBQUcsaUJBQWlCLEVBQUUsR0FBRyxzQkFBc0IsRUFDMUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxLQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDOzs7Y0FKaEMsTUFBTTtzQkFDRSxDQUNaLFFBQVEsRUFBRSxpQkFBaUIsR0FBRyxpQkFBaUIsRUFBRSxHQUFHLHNCQUFzQixFQUMxRSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsYUFBYSxDQUFDLEtBQ2hELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7OztBQUx4QyxxQkFBYSxNQUFPLFNBQVEsV0FNUTtJQUNsQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssU0FBVSxNQUFNLHFEQUFrQztDQUN4RTtBQUVELGVBQU8sTUFBTSxTQUFTLEdBQUksRUFBRSxRQUFRLEdBQUcsU0FBUyxNQUFNLGFBQWEsR0FBRzs7Q0FTckUsQ0FBQTs7VUE4Rk8sTUFBTTtVQUNOLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDdEYsQ0FDWCxTQUFTLEVBQUUsTUFBTSxFQUNqQixhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQztjQUNoRCxJQUFJLEVBQUUsSUFBSSxTQUNYLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQ3RCLE1BQU0sR0FDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQzs7QUFWMUQscUJBQWEsUUFBUyxTQUFRLGFBV2Q7SUFDZCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7OzhCQS9FUyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztpQ0FFaEIsTUFBTSxpQkFBaUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBT2pDLElBQUksRUFBRSxJQUFJO21DQXNFaEI7SUFDbkMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVUsTUFBTSx1REFBcUM7Q0FDM0U7QUFFRCxlQUFPLE1BQU0sV0FBVyxHQUFJLEVBQUUsUUFBUSxHQUFHLFNBQVMsTUFBTSxhQUFhLEdBQUc7O0NBU3ZFLENBQUE7QUFFRCxlQUFPLE1BQU0sY0FBYyxVQUFXLE1BQU0sZUFBZSxNQUFNLCtEQUNTLENBQUE7QUFFMUUsTUFBTSxXQUFXLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSTtJQUN6Qzs7OztPQUlHO0lBQ0gsY0FBYyxDQUFDLE9BQU8sRUFBRSx5QkFBeUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDcEY7Ozs7T0FJRztJQUNILFlBQVksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO0NBQ3ZFIn0=