// automatically generated by the FlatBuffers compiler, do not modify

export {Ability, AbilityT} from './my-game/example/ability';
export {Any, unionListToAny, unionToAny} from './my-game/example/any';
export {
  AnyAmbiguousAliases,
  unionListToAnyAmbiguousAliases,
  unionToAnyAmbiguousAliases,
} from './my-game/example/any-ambiguous-aliases';
export {
  AnyUniqueAliases,
  unionListToAnyUniqueAliases,
  unionToAnyUniqueAliases,
} from './my-game/example/any-unique-aliases';
export {Color} from './my-game/example/color';
export {Monster, MonsterT} from './my-game/example/monster';
export {Race} from './my-game/example/race';
export {Referrable, ReferrableT} from './my-game/example/referrable';
export {Stat, StatT} from './my-game/example/stat';
export {
  StructOfStructs,
  StructOfStructsT,
} from './my-game/example/struct-of-structs';
export {
  StructOfStructsOfStructs,
  StructOfStructsOfStructsT,
} from './my-game/example/struct-of-structs-of-structs';
export {Test, TestT} from './my-game/example/test';
export {
  TestSimpleTableWithEnum,
  TestSimpleTableWithEnumT,
} from './my-game/example/test-simple-table-with-enum';
export {TypeAliases, TypeAliasesT} from './my-game/example/type-aliases';
export {Vec3, Vec3T} from './my-game/example/vec3';
export {
  Monster as MyGame_Example2_Monster,
  MonsterT as MyGame_Example2_MonsterT,
} from './my-game/example2/monster';
export {
  InParentNamespace,
  InParentNamespaceT,
} from './my-game/in-parent-namespace';
