ModelPropertyKey<M, T, G>: T extends AbstractField<any>
    ? ModelFieldKey<M, G>
    : T extends ModelCollection<any>
        ? ModelFieldCollectionKey<M, G>
        : T extends AbstractModel
            ? ModelFieldModelKey<M, G>
            : never

Type Parameters