// import {Constructor, valueof} from '../../../types/GlobalTypes'; // import {NetworkNodeType, NodeContext} from '../../poly/NodeContext'; // import {AnimNodeChildrenMap} from '../../poly/registers/nodes/Anim'; // import {ParamsInitData} from '../utils/io/IOController'; // import {NodeParamsConfig} from '../utils/params/ParamsConfig'; // import {TypedNode} from '../_Base'; // import {BaseAnimNodeType} from './_Base'; // type Test = TypedNode; // export function AnimNetworkNodeMixin>>(Base: TBase) { // return class Mixin extends Base { // static type(): Readonly { // return NetworkNodeType.ANIM; // } // protected _children_controller_context = NodeContext.ANIM; // createNode( // node_class: S, // params_init_value_overrides?: ParamsInitData // ): AnimNodeChildrenMap[S]; // createNode>( // node_class: Constructor, // params_init_value_overrides?: ParamsInitData // ): K; // createNode>( // node_class: S | Constructor, // params_init_value_overrides?: ParamsInitData // ): K | AnimNodeChildrenMap[S] { // return super.createNode(node_class, params_init_value_overrides) as K | AnimNodeChildrenMap[S]; // } // children() { // return super.children() as BaseAnimNodeType[]; // } // nodesByType(type: K): AnimNodeChildrenMap[K][] { // return super.nodesByType(type) as AnimNodeChildrenMap[K][]; // } // }; // }