/** * Per-chat outbound serialization. When two concurrent reply paths target the * same chatId (e.g., user sends two messages in rapid succession), this queue * ensures the second `enqueue(chatId, fn)` waits until the first has settled * before its `fn` runs — chunks of the two replies don't interleave. * * Different chatIds run in parallel: enqueue(A, fnA) and enqueue(B, fnB) start * concurrently regardless of submission order. * * Chains survive errors: if fn throws or its returned promise rejects, the next * enqueue for the same chatId still runs. */ export declare class PerChatSendQueue { private readonly tails; enqueue(chatId: string, fn: () => Promise): Promise; size(): number; } //# sourceMappingURL=send-queue.d.ts.map