//#region src/plugin-sdk/keyed-async-queue.d.ts /** Optional lifecycle hooks fired around each queued task. */ type KeyedAsyncQueueHooks = { onEnqueue?: () => void; onSettle?: () => void; }; /** Serialize async work per key while allowing unrelated keys to run concurrently. */ declare function enqueueKeyedTask(params: { tails: Map>; key: string; task: () => Promise; hooks?: KeyedAsyncQueueHooks; }): Promise; /** Small per-key async queue wrapper for plugin runtimes that need serialized work. */ declare class KeyedAsyncQueue { private readonly tails; getTailMapForTesting(): Map>; enqueue(key: string, task: () => Promise, hooks?: KeyedAsyncQueueHooks): Promise; } //#endregion export { KeyedAsyncQueueHooks as n, enqueueKeyedTask as r, KeyedAsyncQueue as t };