/**
 * Parent for Material nodes
 *
 *
 */
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { ParamLessBaseManagerObjNode } from './_BaseManager';
import { NodeContext, NetworkNodeType } from '../../poly/NodeContext';
import { MatNodeChildrenMap } from '../../poly/registers/nodes/Mat';
import { BaseMatNodeType } from '../mat/_Base';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
export declare class MaterialsNetworkObjNode extends ParamLessBaseManagerObjNode {
    readonly renderOrder: number;
    static type(): Readonly<NetworkNodeType.MAT>;
    protected _childrenControllerContext: NodeContext;
    createNode<S extends keyof MatNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): MatNodeChildrenMap[S];
    createNode<K extends valueof<MatNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
    children(): BaseMatNodeType[];
    nodesByType<K extends keyof MatNodeChildrenMap>(type: K): MatNodeChildrenMap[K][];
}
