[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [local‑first/Protocol](https://evolu.dev/docs/api-reference/common/local-first/Protocol) › ProtocolValueType

```ts
const ProtocolValueType: {
  Base64Url: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  Bytes: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  DateIsoWithNegativeTime: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  DateIsoWithNonNegativeTime: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  EmptyString: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  Id: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  Json: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  NonNegativeInt: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  Null: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  Number: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
  String: number &
    Brand<"NonNaN"> &
    Brand<"Finite"> &
    Brand<"Int"> &
    Brand<"NonNegative">;
};
```

Defined in: [packages/common/src/local-first/Protocol.ts:2060](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2060)

## Type Declaration

| Name                                                                          | Type                                                                                                                                                                                                                                                                                                                                           | Defined in                                                                                                                                                                           |
| ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| <a id="property-base64url"></a> `Base64Url`                                   | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2076](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2076) |
| <a id="property-bytes"></a> `Bytes`                                           | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2067](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2067) |
| <a id="property-dateisowithnegativetime"></a> `DateIsoWithNegativeTime`       | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2085](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2085) |
| <a id="property-dateisowithnonnegativetime"></a> `DateIsoWithNonNegativeTime` | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2083](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2083) |
| <a id="property-emptystring"></a> `EmptyString`                               | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2075](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2075) |
| <a id="property-id"></a> `Id`                                                 | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2077](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2077) |
| <a id="property-json"></a> `Json`                                             | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2078](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2078) |
| <a id="property-nonnegativeint"></a> `NonNegativeInt`                         | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2071](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2071) |
| <a id="property-null"></a> `Null`                                             | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2066](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2066) |
| <a id="property-number"></a> `Number`                                         | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2065](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2065) |
| <a id="property-string"></a> `String`                                         | `number` & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNaN"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Finite"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"Int"`\> & [`Brand`](https://evolu.dev/docs/api-reference/common/Brand/interfaces/Brand)\<`"NonNegative"`\> | [packages/common/src/local-first/Protocol.ts:2064](https://github.com/evoluhq/evolu/blob/037c390af081e9944d616ff298a729515c5c5ab7/packages/common/src/local-first/Protocol.ts#L2064) |