ExtractDocumentKey type

type ExtractDocumentKey<TModel> = {
  [K in keyof TModel as TModel[K] extends string | undefined
    ? K
    : never]: TModel[K]
}