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

```ts
type ValidateIdColumnType<S> = keyof S extends infer TableName
  ? TableName extends keyof S
    ? "id" extends keyof S[TableName]
      ? StandardSchemaV1.InferOutput<S[TableName]["id"]> extends Id
        ? never
        : SchemaValidationError<`Table "${TableName & string}" id column output type must extend Id. Use id("${TableName & string}") from Evolu Type.`>
      : never
    : never
  : never;
```

Defined in: [packages/common/src/local-first/Schema.ts:347](https://github.com/evoluhq/evolu/blob/49ea8ca499566aba270f8cb601e7f49aa62320f8/packages/common/src/local-first/Schema.ts#L347)