import { GunSoul, IGunChain, IGunInstanceRoot } from '.'; export type GunSoul2TNode = T extends GunSoul ? TNode : never; export type GunSoul2Soul = T extends GunSoul ? Soul : never; export type IGunChain2TNode = T extends IGunChain< infer TNode, infer _TChainParent, infer _TNodeRoot, infer _TKey > ? TNode : never; export type IGunInstanceRoot2TGunInstance = T extends IGunInstanceRoot< infer _TNode, infer TGunInstance > ? TGunInstance : never;