/**
 * A subnet to create ANIM nodes
 *
 */
import { TypedAnimNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { NetworkNodeType, NodeContext } from '../../poly/NodeContext';
import { AnimNodeChildrenMap } from '../../poly/registers/nodes/Anim';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { BaseAnimNodeType } from './_Base';
import { TimelineBuilder } from '../../../core/animation/TimelineBuilder';
declare class ParamLessSubnetAnimParamsConfig extends NodeParamsConfig {
}
export declare class BaseSubnetAnimNode<K extends NodeParamsConfig> extends TypedAnimNode<K> {
    initializeNode(): void;
    protected _childrenControllerContext: NodeContext;
    createNode<S extends keyof AnimNodeChildrenMap>(nodeClass: S, options?: NodeCreateOptions): AnimNodeChildrenMap[S];
    createNode<K extends valueof<AnimNodeChildrenMap>>(nodeClass: Constructor<K>, options?: NodeCreateOptions): K;
    children(): BaseAnimNodeType[];
    nodesByType<K extends keyof AnimNodeChildrenMap>(type: K): AnimNodeChildrenMap[K][];
    cook(inputContents: TimelineBuilder[]): Promise<void>;
}
export declare class SubnetAnimNode extends BaseSubnetAnimNode<ParamLessSubnetAnimParamsConfig> {
    paramsConfig: ParamLessSubnetAnimParamsConfig;
    static type(): NetworkNodeType;
}
export {};
