import type { Command, CommandMethods, Envelope, MaybePromise, Message, MessageTypes } from '../../types/index.ts'; import { type Closable } from '../closable.ts'; import type { Sender } from '../sender.ts'; export type SenderFactory = () => MaybePromise; export declare class MultiSender implements Sender, Closable { private senders; /** * @param initializers Array of objects containing a filter function and a sender or a factory function that returns a sender. * The filter function is used to determine if the sender should be used for a given envelope. * If no filter is provided, the sender will be used for all envelopes. * The order of senders in the array determines the order in which they are tried. */ constructor(initializers: Array<{ filter?: (envelope: Envelope) => boolean | undefined; sender: Sender | SenderFactory; }>); sendMessage(message: Message): Promise; sendCommand(command: Command): Promise; close(): Promise; findSender) => Sender>(proto: TProto): InstanceType; private getSender; private resolveSender; } //# sourceMappingURL=multisender.d.ts.map