import { Constructor, valueof } from '../../../types/GlobalTypes'; import { TypedMatNode } from './_Base'; import { GlAssemblerController } from '../gl/code/Controller'; import { NodeParamsConfig } from '../utils/params/ParamsConfig'; import { ShaderAssemblerMaterial } from '../gl/code/assemblers/materials/_BaseMaterial'; import { MaterialPersistedConfig } from '../gl/code/assemblers/materials/PersistedConfig'; import { GlNodeChildrenMap } from '../../poly/registers/nodes/Gl'; import { BaseGlNodeType } from '../gl/_Base'; import { ShaderMaterialWithCustomMaterials } from '../../../core/geometry/Material'; import { NodeContext } from '../../poly/NodeContext'; import { ParamsInitData } from '../utils/io/IOController'; export declare abstract class TypedBuilderMatNode extends TypedMatNode { protected _assembler_controller: GlAssemblerController | undefined; protected _children_controller_context: NodeContext; readonly persisted_config: MaterialPersistedConfig; create_material(): ShaderMaterialWithCustomMaterials; get assemblerController(): GlAssemblerController | undefined; protected abstract _create_assembler_controller(): GlAssemblerController | undefined; createNode(node_class: S, params_init_value_overrides?: ParamsInitData): GlNodeChildrenMap[S]; createNode>(node_class: Constructor, params_init_value_overrides?: ParamsInitData): K; children(): BaseGlNodeType[]; nodesByType(type: K): GlNodeChildrenMap[K][]; childrenAllowed(): boolean; compile_if_required(): void; protected _compile(): void; } export declare type BaseBuilderMatNodeType = TypedBuilderMatNode;