[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [LockManager](https://evolu.dev/docs/api-reference/common/LockManager) › acquireLeaderLockCallback

```ts
function acquireLeaderLockCallback(
  deps: LockManagerDep,
): (name: string, callback: Callback<void>) => Disposable;
```

Defined in: [packages/common/src/LockManager.ts:161](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/LockManager.ts#L161)

Competes to become the current leader for `name` using [LockManager](https://evolu.dev/docs/api-reference/common/LockManager).

Only one caller can lead for a given name at a time. The callback runs when
leadership is acquired, and the returned [Disposable](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management) represents that
leadership request.

Leadership is held until the returned handle is disposed. Once released,
another waiting caller may become the next leader. Waiting for leadership is
abortable by disposing the returned handle.