# Interface: DefineCollection

Defined in: [packages/core/src/node/types.ts:323](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L323)

## Properties

| Property | Modifier | Type | Description | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="property-computed"></a> `computed?` | `readonly` | \| `Readonly`\<`Record`\<`string`, `string`\>\> \| ((`scope`) => [`ComputedResult`](https://minca.dev/api/core/type-aliases/ComputedResult.md)) | Values derived from what links to its records (packages/core/docs/computed.md) | [packages/core/src/node/types.ts:359](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L359) |
| <a id="property-contract"></a> `contract?` | `readonly` | \| [`CollectionContract`](https://minca.dev/api/core/interfaces/CollectionContract.md) \| \{ `check?`: \| readonly [`Contract`](https://minca.dev/api/core/interfaces/Contract.md)[] \| ((`scope`) => `Readonly`\<`Record`\<`string`, `unknown`\>\>); `line?`: [`Line`](https://minca.dev/api/core/interfaces/Line.md); \} | What a version must be to count, judged by readers: `check` conditions and a `line` (packages/core/docs/contracts.md) | [packages/core/src/node/types.ts:352](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L352) |
| <a id="property-description"></a> `description?` | `readonly` | `string` | - | [packages/core/src/node/types.ts:326](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L326) |
| <a id="property-history"></a> `history?` | `readonly` | `"all"` \| `"latest"` | `all` keeps every version of every record whole, hash-linked, for `records.history`. `latest`, the default, keeps the current version whole and forgets what earlier ones and deleted records said | [packages/core/src/node/types.ts:340](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L340) |
| <a id="property-links"></a> `links?` | `readonly` | `Readonly`\<`Record`\<`string`, `LinkDeclaration`\>\> | The link roles its records may carry, and what each may point at | [packages/core/src/node/types.ts:342](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L342) |
| <a id="property-name"></a> `name` | `readonly` | `string` | - | [packages/core/src/node/types.ts:324](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L324) |
| <a id="property-rules"></a> `rules?` | `readonly` | [`CollectionRules`](https://minca.dev/api/core/interfaces/CollectionRules.md) | What must be unique, which fields are fixed, whether records are written once: every peer checks. None by default | [packages/core/src/node/types.ts:344](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L344) |
| <a id="property-schema"></a> `schema` | `readonly` | \| [`JsonSchema`](https://minca.dev/api/core/type-aliases/JsonSchema.md) \| [`StandardJSONSchemaV1`](https://minca.dev/api/core/interfaces/StandardJSONSchemaV1.md)\<`unknown`, `unknown`\> | JSON Schema in the supported subset, or a Standard JSON Schema validator | [packages/core/src/node/types.ts:328](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L328) |
| <a id="property-title"></a> `title?` | `readonly` | `string` | - | [packages/core/src/node/types.ts:325](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L325) |
| <a id="property-topics"></a> `topics?` | `readonly` | readonly `string`[] | Fields whose values are topics, like `mentions`, or link roles as `link:<rel>`, so a node that can't read the space still matches records by them. At most 8 | [packages/core/src/node/types.ts:350](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L350) |
| <a id="property-version"></a> `version?` | `readonly` | `number` | The definition's version number. Default: one past the current version, or 1. This library refuses one that isn't higher than the one in force, or not below 2^53; peers don't check it (spec 02 §6.3) | [packages/core/src/node/types.ts:334](https://github.com/leifriksheim/minca/blob/main/core/src/node/types.ts#L334) |
