public static bool CheckCanOpenMastery(this Hero hero, MasteryType masteryType) => default;
 private static void AssertMasteryLineLimit(this Hero hero, List <MasteryType> openedMasteries, MasteryType mastery)
 {
 }
 public static bool CheckMasteryRank(this Hero hero, MasteryType mastery) => default;
 private static void AssertMasteryTreeAvailability(this Hero hero, List <MasteryType> openedMasteries, MasteryType mastery)
 {
 }
 private static void AssertMasteryParentsOrNeighboursOpened(this Hero hero, List <MasteryType> openedMasteries, MasteryType mastery)
 {
 }
 private static void AssertIsEnoughResorces(this Hero hero, MasteryType mastery)
 {
 }
 private static void AssertMasteryRank(this Hero hero, MasteryType mastery)
 {
 }
 public static bool CheckMasteryNeighboursOpened(List <MasteryType> openedMasteries, MasteryType mastery) => default;
 public static IUndoState OpenMastery(this Hero hero, MasteryType mastery) => default;
 public static bool CheckMasteryLineLimit(List <MasteryType> openedMasteries, MasteryType mastery) => default;
 public static bool CheckMasteryParentsOpened(List <MasteryType> openedMasteries, MasteryType mastery) => default;
 public static bool CheckMasteryTreeAvailability(List <MasteryType> openedMasteries, MasteryType mastery) => default;
 public static bool CheckIsEnoughResorces(Hero hero, MasteryType mastery) => default;
 private static IUndoState SubtractMasteryPrice(Hero hero, MasteryType mastery) => default;