# Function: define()

```ts
function define<C>(definition): C & Typed<SchemaBody<C["schema"]>>;
```

Defined in: [packages/core/src/schemas/fragments.ts:50](https://github.com/leifriksheim/minca/blob/main/core/src/schemas/fragments.ts#L50)

A definition whose records' type is worked out from its schema

## Type Parameters

| Type Parameter |
| ------ |
| <a id="type-parameter-c"></a> `C` *extends* [`DefineCollection`](https://minca.dev/api/core/interfaces/DefineCollection.md) |

## Parameters

| Parameter | Type |
| ------ | ------ |
| `definition` | `C` |

## Returns

`C` & [`Typed`](https://minca.dev/api/core/interfaces/Typed.md)\<[`SchemaBody`](https://minca.dev/api/schemas/namespaces/fragments/type-aliases/SchemaBody.md)\<`C`\[`"schema"`\]\>\>
