/** * A simple promise-based mutual exclusion lock. Callers acquire the lock and receive a release function; * subsequent acquire() calls queue behind the current holder until it releases. */ export declare class Mutex { private queue; /** * Wait until the lock is available, then acquire it. * @returns a release function that MUST be called (typically in a finally block) to let the next waiter proceed. */ acquire(): Promise<() => void>; }