import { Model } from "./Model" import { PartitionAndSortKey } from "./keys" export type ExtractFields = T extends Model ? U : never export type TaggedModel = Record & { model: string } export type ExtractKeyType = T extends PartitionAndSortKey ? U : never export type GroupedModels = { [K in T["model"]]: T extends { model: K } ? T[] : never }