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

Defined in: [packages/common/src/Task.ts:5608](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Task.ts#L5608)

An owned semaphore acquisition returned by [Semaphore.take](https://evolu.dev/docs/api-reference/common/Task/interfaces/Semaphore#take).

## Extends

- [`Disposable`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#using-declarations-and-explicit-resource-management)

## Methods

<a id="dispose"></a>

### \[dispose\]()

```ts
dispose: void;
```

Defined in: node\_modules/@typescript/old/lib/lib.esnext.disposable.d.ts:34

#### Inherited from

```ts
Disposable.[dispose]
```

## Properties

<a id="permits"></a>

### permits

```ts
readonly permits: Int1To100OrPositiveInt;
```

Defined in: [packages/common/src/Task.ts:5610](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Task.ts#L5610)

Number of permits held by this permit.

---

<a id="release"></a>

### release

```ts
readonly release: () => boolean;
```

Defined in: [packages/common/src/Task.ts:5613](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/Task.ts#L5613)

Releases held permits. Returns `true` once, then `false`.