> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Interface: DatabaseReadContracts<DataModel, Schema>

> Not exported: an exported type refers to it.

[server](https://docs.bijection.com/api/modules/server).DatabaseReadContracts

Not exported: an exported type refers to it.

## Type parameters

| Name | Type |
| :- | :- |
| `DataModel` | extends [`GenericDataModel`](https://docs.bijection.com/api/modules/server#genericdatamodel) = [`GenericDataModel`](https://docs.bijection.com/api/modules/server#genericdatamodel) |
| `Schema` | [`GenericSchema`](https://docs.bijection.com/api/modules/server#genericschema) |

## Hierarchy

* **`DatabaseReadContracts`**

  ↳ [`BijectionDatabaseWriter`](https://docs.bijection.com/api/interfaces/server.BijectionDatabaseWriter)

## Properties

### checkRead

• **checkRead**: (`requirements`: [`LocalReadRequirements`](https://docs.bijection.com/api/modules/server#localreadrequirements)\<`DataModel`>) => `Promise`\<[`ReadAssessment`](https://docs.bijection.com/api/modules/server#readassessment)>

#### Type declaration

▸ (`requirements`): `Promise`\<[`ReadAssessment`](https://docs.bijection.com/api/modules/server#readassessment)>

##### Parameters

| Name | Type |
| :- | :- |
| `requirements` | [`LocalReadRequirements`](https://docs.bijection.com/api/modules/server#localreadrequirements)\<`DataModel`> |

##### Returns

`Promise`\<[`ReadAssessment`](https://docs.bijection.com/api/modules/server#readassessment)>

***

### requireRead

• **requireRead**: (`requirements`: [`LocalReadRequirements`](https://docs.bijection.com/api/modules/server#localreadrequirements)\<`DataModel`>) => `Promise`\<[`ReadBasis`](https://docs.bijection.com/api/modules/server#readbasis)>

#### Type declaration

▸ (`requirements`): `Promise`\<[`ReadBasis`](https://docs.bijection.com/api/modules/server#readbasis)>

##### Parameters

| Name | Type |
| :- | :- |
| `requirements` | [`LocalReadRequirements`](https://docs.bijection.com/api/modules/server#localreadrequirements)\<`DataModel`> |

##### Returns

`Promise`\<[`ReadBasis`](https://docs.bijection.com/api/modules/server#readbasis)>

***

### publication

• **publication**: (`table`: [`PublishedTables`](https://docs.bijection.com/api/modules/server#publishedtables)\<`Schema` extends [`GenericSchema`](https://docs.bijection.com/api/modules/server#genericschema) ? `Schema` : [`GenericSchema`](https://docs.bijection.com/api/modules/server#genericschema)>, `options?`: \{ `selection`: `string`  }) => `Promise`\<[`PublicationStatus`](https://docs.bijection.com/api/modules/server#publicationstatus)>

#### Type declaration

▸ (`table`, `options?`): `Promise`\<[`PublicationStatus`](https://docs.bijection.com/api/modules/server#publicationstatus)>

##### Parameters

| Name | Type |
| :- | :- |
| `table` | [`PublishedTables`](https://docs.bijection.com/api/modules/server#publishedtables)\<`Schema` extends [`GenericSchema`](https://docs.bijection.com/api/modules/server#genericschema) ? `Schema` : [`GenericSchema`](https://docs.bijection.com/api/modules/server#genericschema)> |
| `options?` | `Object` |
| `options.selection` | `string` |

##### Returns

`Promise`\<[`PublicationStatus`](https://docs.bijection.com/api/modules/server#publicationstatus)>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.