import { GlConnectionPointType } from '../utils/io/connections/Gl';
import { ShadersCollectionController } from './code/utils/ShadersCollectionController';
declare const AddGlNode_base: {
    new (scene: import("../../index_all").PolyScene, name?: string, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): {
        initializeNode(): void;
        set_lines(shaders_collection_controller: ShadersCollectionController): void;
        _gl_input_name(index: number): string;
        _gl_output_name(index: number): string;
        gl_operation(): string;
        _expected_input_types(): GlConnectionPointType[];
        _expected_output_types(): GlConnectionPointType[];
        params_config: import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig;
        gl_method_name(): string;
        gl_function_definitions(): import("./utils/GLDefinition").TypedGLDefinition<import("./utils/GLDefinition").GLDefinitionType>[];
        _param_configs_controller: import("../utils/code/controllers/ParamConfigsController").ParamConfigsController<import("./code/utils/ParamConfig").GlParamConfig<import("../../poly/ParamType").ParamType>> | undefined;
        _assembler: import("./code/assemblers/_Base").BaseGlShaderAssembler | undefined;
        initializeBaseNode(): void;
        cook(): void;
        _set_mat_to_recompile(): void;
        readonly material_node: import("./code/Controller").AssemblerControllerNode | undefined;
        gl_var_name(name: string): string;
        variable_for_input(name: string): string;
        reset_code(): void;
        set_param_configs(): void;
        param_configs(): readonly import("./code/utils/ParamConfig").GlParamConfig<import("../../poly/ParamType").ParamType>[] | undefined;
        param_default_value(name: string): any;
        container_controller: import("../utils/ContainerController").TypedContainerController<import("../../poly/NodeContext").NodeContext.GL>;
        _parent_controller: import("../utils/hierarchy/ParentController").HierarchyParentController | undefined;
        _ui_data: import("../utils/UIData").UIData | undefined;
        _states: import("../utils/StatesController").StatesController | undefined;
        _lifecycle: import("../utils/LifeCycleController").LifeCycleController | undefined;
        _serializer: import("../utils/Serializer").NodeSerializer | undefined;
        _cook_controller: import("../utils/CookController").NodeCookController<import("../../poly/NodeContext").NodeContext.GL> | undefined;
        readonly flags: import("../utils/FlagsController").FlagsController | undefined;
        readonly display_node_controller: import("../utils/DisplayNodeController").DisplayNodeController | undefined;
        readonly persisted_config: import("../utils/PersistedConfig").BasePersistedConfig | undefined;
        _params_controller: import("../utils/params/ParamsController").ParamsController | undefined;
        readonly pv: import("../utils/params/ParamsValueAccessor").ParamsValueAccessorType<import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>;
        readonly p: import("../utils/params/ParamsAccessor").ParamsAccessorType<import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>;
        copy_param_values(node: import("../_Base").TypedNode<import("../../poly/NodeContext").NodeContext.GL, import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>): void;
        _name_controller: import("../utils/NameController").NameController | undefined;
        readonly parentController: import("../utils/hierarchy/ParentController").HierarchyParentController;
        _children_controller: import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        _children_controller_context: import("../../poly/NodeContext").NodeContext | undefined;
        readonly childrenControllerContext: import("../../poly/NodeContext").NodeContext | undefined;
        _create_children_controller(): import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        readonly childrenController: import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        childrenAllowed(): boolean;
        readonly uiData: import("../utils/UIData").UIData;
        readonly states: import("../utils/StatesController").StatesController;
        readonly lifecycle: import("../utils/LifeCycleController").LifeCycleController;
        readonly serializer: import("../utils/Serializer").NodeSerializer;
        readonly cookController: import("../utils/CookController").NodeCookController<import("../../poly/NodeContext").NodeContext.GL>;
        _io: import("../utils/io/IOController").IOController<import("../../poly/NodeContext").NodeContext.GL> | undefined;
        readonly io: import("../utils/io/IOController").IOController<import("../../poly/NodeContext").NodeContext.GL>;
        readonly nameController: import("../utils/NameController").NameController;
        setName(name: string): void;
        _set_core_name(name: string): void;
        readonly params: import("../utils/params/ParamsController").ParamsController;
        params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined;
        _initialized: boolean;
        initialize_base_and_node(): void;
        type(): string;
        nodeContext(): import("../../poly/NodeContext").NodeContext;
        require_webgl2(): boolean;
        setParent(parent: import("../_Base").BaseNodeType | null): void;
        parent(): import("../_Base").BaseNodeType | null;
        root(): import("../manager/ObjectsManager").ObjectsManagerNode;
        fullPath(relative_to_parent?: import("../_Base").BaseNodeType | undefined): string;
        create_params(): void;
        addParam<T extends import("../../poly/ParamType").ParamType>(type: T, name: string, default_value: import("../../params/types/ParamInitValuesTypeMap").ParamInitValuesTypeMap[T], options?: import("../../params/utils/OptionsController").ParamOptions | undefined): import("../../params/types/ParamConstructorMap").ParamConstructorMap[T] | undefined;
        requestContainer(): Promise<import("../../containers/Gl").GlContainer>;
        setContainer(content: string, message?: string | null): void;
        createNode(node_class: any, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): import("../_Base").BaseNodeType | undefined;
        create_operation_container(type: string, operation_container_name: string, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): import("../../../core/operations/container/_Base").BaseOperationContainer | undefined;
        removeNode(node: import("../_Base").BaseNodeType): void;
        dispose(): void;
        children(): import("../_Base").BaseNodeType[];
        node(path: string): import("../_Base").BaseNodeType | null;
        nodeSibbling(name: string): import("./_Base").BaseGlNodeType | null;
        nodesByType(type: string): import("../_Base").BaseNodeType[];
        setInput(input_index_or_name: string | number, node: import("./_Base").BaseGlNodeType | null, output_index_or_name?: string | number): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.CREATED, data: import("../_Base").NodeCreatedEmitData): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.DELETED, data: import("../_Base").NodeDeletedEmitData): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAME_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.OVERRIDE_CLONABLE_STATE_UPDATE): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAMED_INPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAMED_OUTPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.INPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.PARAMS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.UI_DATA_POSITION_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.UI_DATA_COMMENT_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.ERROR_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_BYPASS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_DISPLAY_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_OPTIMIZE_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.SELECTION_UPDATED): void;
        toJSON(include_param_components?: boolean): import("../utils/Serializer").NodeSerializerData;
        requiredModules(): Promise<void | import("../../poly/registers/modules/_BaseRegister").ModuleName[]>;
        usedAssembler(): void | import("../../poly/registers/assemblers/_BaseRegister").AssemblerName;
        integrationData(): void | import("../_Base").IntegrationData;
        readonly polyNodeController: import("../utils/poly/PolyNodeController").PolyNodeController | undefined;
        _graph: import("../../../core/graph/CoreGraph").CoreGraph;
        _graph_node_id: number;
        _dirty_controller: import("../../../core/graph/DirtyController").DirtyController;
        _scene: import("../../index_all").PolyScene;
        _name: string;
        name(): string;
        scene(): import("../../index_all").PolyScene;
        graphNodeId(): number;
        readonly dirtyController: import("../../../core/graph/DirtyController").DirtyController;
        setDirty(trigger?: import("../../../core/graph/CoreGraphNode").CoreGraphNode | null | undefined): void;
        setSuccessorsDirty(trigger?: import("../../../core/graph/CoreGraphNode").CoreGraphNode | undefined): void;
        removeDirtyState(): void;
        isDirty(): boolean;
        addPostDirtyHook(name: string, callback: import("../../../core/graph/DirtyController").PostDirtyHook): void;
        graphRemove(): void;
        addGraphInput(src: import("../../../core/graph/CoreGraphNode").CoreGraphNode, check_if_graph_has_cycle?: boolean): boolean;
        removeGraphInput(src: import("../../../core/graph/CoreGraphNode").CoreGraphNode): void;
        graphDisconnectPredecessors(): void;
        graphDisconnectSuccessors(): void;
        graphPredecessorIds(): number[];
        graphPredecessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphSuccessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphAllPredecessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphAllSuccessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
    };
    type(): string;
    nodeContext(): import("../../poly/NodeContext").NodeContext;
    displayedInputNames(): string[];
    require_webgl2(): boolean;
};
export declare class AddGlNode extends AddGlNode_base {
}
declare const DivideGlNode_base: {
    new (scene: import("../../index_all").PolyScene, name?: string, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): {
        initializeNode(): void;
        set_lines(shaders_collection_controller: ShadersCollectionController): void;
        _gl_input_name(index: number): string;
        _gl_output_name(index: number): string;
        gl_operation(): string;
        _expected_input_types(): GlConnectionPointType[];
        _expected_output_types(): GlConnectionPointType[];
        params_config: import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig;
        gl_method_name(): string;
        gl_function_definitions(): import("./utils/GLDefinition").TypedGLDefinition<import("./utils/GLDefinition").GLDefinitionType>[];
        _param_configs_controller: import("../utils/code/controllers/ParamConfigsController").ParamConfigsController<import("./code/utils/ParamConfig").GlParamConfig<import("../../poly/ParamType").ParamType>> | undefined;
        _assembler: import("./code/assemblers/_Base").BaseGlShaderAssembler | undefined;
        initializeBaseNode(): void;
        cook(): void;
        _set_mat_to_recompile(): void;
        readonly material_node: import("./code/Controller").AssemblerControllerNode | undefined;
        gl_var_name(name: string): string;
        variable_for_input(name: string): string;
        reset_code(): void;
        set_param_configs(): void;
        param_configs(): readonly import("./code/utils/ParamConfig").GlParamConfig<import("../../poly/ParamType").ParamType>[] | undefined;
        param_default_value(name: string): any;
        container_controller: import("../utils/ContainerController").TypedContainerController<import("../../poly/NodeContext").NodeContext.GL>;
        _parent_controller: import("../utils/hierarchy/ParentController").HierarchyParentController | undefined;
        _ui_data: import("../utils/UIData").UIData | undefined;
        _states: import("../utils/StatesController").StatesController | undefined;
        _lifecycle: import("../utils/LifeCycleController").LifeCycleController | undefined;
        _serializer: import("../utils/Serializer").NodeSerializer | undefined;
        _cook_controller: import("../utils/CookController").NodeCookController<import("../../poly/NodeContext").NodeContext.GL> | undefined;
        readonly flags: import("../utils/FlagsController").FlagsController | undefined;
        readonly display_node_controller: import("../utils/DisplayNodeController").DisplayNodeController | undefined;
        readonly persisted_config: import("../utils/PersistedConfig").BasePersistedConfig | undefined;
        _params_controller: import("../utils/params/ParamsController").ParamsController | undefined;
        readonly pv: import("../utils/params/ParamsValueAccessor").ParamsValueAccessorType<import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>;
        readonly p: import("../utils/params/ParamsAccessor").ParamsAccessorType<import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>;
        copy_param_values(node: import("../_Base").TypedNode<import("../../poly/NodeContext").NodeContext.GL, import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>): void;
        _name_controller: import("../utils/NameController").NameController | undefined;
        readonly parentController: import("../utils/hierarchy/ParentController").HierarchyParentController;
        _children_controller: import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        _children_controller_context: import("../../poly/NodeContext").NodeContext | undefined;
        readonly childrenControllerContext: import("../../poly/NodeContext").NodeContext | undefined;
        _create_children_controller(): import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        readonly childrenController: import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        childrenAllowed(): boolean;
        readonly uiData: import("../utils/UIData").UIData;
        readonly states: import("../utils/StatesController").StatesController;
        readonly lifecycle: import("../utils/LifeCycleController").LifeCycleController;
        readonly serializer: import("../utils/Serializer").NodeSerializer;
        readonly cookController: import("../utils/CookController").NodeCookController<import("../../poly/NodeContext").NodeContext.GL>;
        _io: import("../utils/io/IOController").IOController<import("../../poly/NodeContext").NodeContext.GL> | undefined;
        readonly io: import("../utils/io/IOController").IOController<import("../../poly/NodeContext").NodeContext.GL>;
        readonly nameController: import("../utils/NameController").NameController;
        setName(name: string): void;
        _set_core_name(name: string): void;
        readonly params: import("../utils/params/ParamsController").ParamsController;
        params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined;
        _initialized: boolean;
        initialize_base_and_node(): void;
        type(): string;
        nodeContext(): import("../../poly/NodeContext").NodeContext;
        require_webgl2(): boolean;
        setParent(parent: import("../_Base").BaseNodeType | null): void;
        parent(): import("../_Base").BaseNodeType | null;
        root(): import("../manager/ObjectsManager").ObjectsManagerNode;
        fullPath(relative_to_parent?: import("../_Base").BaseNodeType | undefined): string;
        create_params(): void;
        addParam<T extends import("../../poly/ParamType").ParamType>(type: T, name: string, default_value: import("../../params/types/ParamInitValuesTypeMap").ParamInitValuesTypeMap[T], options?: import("../../params/utils/OptionsController").ParamOptions | undefined): import("../../params/types/ParamConstructorMap").ParamConstructorMap[T] | undefined;
        requestContainer(): Promise<import("../../containers/Gl").GlContainer>;
        setContainer(content: string, message?: string | null): void;
        createNode(node_class: any, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): import("../_Base").BaseNodeType | undefined;
        create_operation_container(type: string, operation_container_name: string, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): import("../../../core/operations/container/_Base").BaseOperationContainer | undefined;
        removeNode(node: import("../_Base").BaseNodeType): void;
        dispose(): void;
        children(): import("../_Base").BaseNodeType[];
        node(path: string): import("../_Base").BaseNodeType | null;
        nodeSibbling(name: string): import("./_Base").BaseGlNodeType | null;
        nodesByType(type: string): import("../_Base").BaseNodeType[];
        setInput(input_index_or_name: string | number, node: import("./_Base").BaseGlNodeType | null, output_index_or_name?: string | number): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.CREATED, data: import("../_Base").NodeCreatedEmitData): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.DELETED, data: import("../_Base").NodeDeletedEmitData): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAME_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.OVERRIDE_CLONABLE_STATE_UPDATE): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAMED_INPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAMED_OUTPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.INPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.PARAMS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.UI_DATA_POSITION_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.UI_DATA_COMMENT_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.ERROR_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_BYPASS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_DISPLAY_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_OPTIMIZE_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.SELECTION_UPDATED): void;
        toJSON(include_param_components?: boolean): import("../utils/Serializer").NodeSerializerData;
        requiredModules(): Promise<void | import("../../poly/registers/modules/_BaseRegister").ModuleName[]>;
        usedAssembler(): void | import("../../poly/registers/assemblers/_BaseRegister").AssemblerName;
        integrationData(): void | import("../_Base").IntegrationData;
        readonly polyNodeController: import("../utils/poly/PolyNodeController").PolyNodeController | undefined;
        _graph: import("../../../core/graph/CoreGraph").CoreGraph;
        _graph_node_id: number;
        _dirty_controller: import("../../../core/graph/DirtyController").DirtyController;
        _scene: import("../../index_all").PolyScene;
        _name: string;
        name(): string;
        scene(): import("../../index_all").PolyScene;
        graphNodeId(): number;
        readonly dirtyController: import("../../../core/graph/DirtyController").DirtyController;
        setDirty(trigger?: import("../../../core/graph/CoreGraphNode").CoreGraphNode | null | undefined): void;
        setSuccessorsDirty(trigger?: import("../../../core/graph/CoreGraphNode").CoreGraphNode | undefined): void;
        removeDirtyState(): void;
        isDirty(): boolean;
        addPostDirtyHook(name: string, callback: import("../../../core/graph/DirtyController").PostDirtyHook): void;
        graphRemove(): void;
        addGraphInput(src: import("../../../core/graph/CoreGraphNode").CoreGraphNode, check_if_graph_has_cycle?: boolean): boolean;
        removeGraphInput(src: import("../../../core/graph/CoreGraphNode").CoreGraphNode): void;
        graphDisconnectPredecessors(): void;
        graphDisconnectSuccessors(): void;
        graphPredecessorIds(): number[];
        graphPredecessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphSuccessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphAllPredecessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphAllSuccessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
    };
    type(): string;
    nodeContext(): import("../../poly/NodeContext").NodeContext;
    displayedInputNames(): string[];
    require_webgl2(): boolean;
};
export declare class DivideGlNode extends DivideGlNode_base {
    param_default_value(name: string): number;
}
declare const SubstractGlNode_base: {
    new (scene: import("../../index_all").PolyScene, name?: string, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): {
        initializeNode(): void;
        set_lines(shaders_collection_controller: ShadersCollectionController): void;
        _gl_input_name(index: number): string;
        _gl_output_name(index: number): string;
        gl_operation(): string;
        _expected_input_types(): GlConnectionPointType[];
        _expected_output_types(): GlConnectionPointType[];
        params_config: import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig;
        gl_method_name(): string;
        gl_function_definitions(): import("./utils/GLDefinition").TypedGLDefinition<import("./utils/GLDefinition").GLDefinitionType>[];
        _param_configs_controller: import("../utils/code/controllers/ParamConfigsController").ParamConfigsController<import("./code/utils/ParamConfig").GlParamConfig<import("../../poly/ParamType").ParamType>> | undefined;
        _assembler: import("./code/assemblers/_Base").BaseGlShaderAssembler | undefined;
        initializeBaseNode(): void;
        cook(): void;
        _set_mat_to_recompile(): void;
        readonly material_node: import("./code/Controller").AssemblerControllerNode | undefined;
        gl_var_name(name: string): string;
        variable_for_input(name: string): string;
        reset_code(): void;
        set_param_configs(): void;
        param_configs(): readonly import("./code/utils/ParamConfig").GlParamConfig<import("../../poly/ParamType").ParamType>[] | undefined;
        param_default_value(name: string): any;
        container_controller: import("../utils/ContainerController").TypedContainerController<import("../../poly/NodeContext").NodeContext.GL>;
        _parent_controller: import("../utils/hierarchy/ParentController").HierarchyParentController | undefined;
        _ui_data: import("../utils/UIData").UIData | undefined;
        _states: import("../utils/StatesController").StatesController | undefined;
        _lifecycle: import("../utils/LifeCycleController").LifeCycleController | undefined;
        _serializer: import("../utils/Serializer").NodeSerializer | undefined;
        _cook_controller: import("../utils/CookController").NodeCookController<import("../../poly/NodeContext").NodeContext.GL> | undefined;
        readonly flags: import("../utils/FlagsController").FlagsController | undefined;
        readonly display_node_controller: import("../utils/DisplayNodeController").DisplayNodeController | undefined;
        readonly persisted_config: import("../utils/PersistedConfig").BasePersistedConfig | undefined;
        _params_controller: import("../utils/params/ParamsController").ParamsController | undefined;
        readonly pv: import("../utils/params/ParamsValueAccessor").ParamsValueAccessorType<import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>;
        readonly p: import("../utils/params/ParamsAccessor").ParamsAccessorType<import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>;
        copy_param_values(node: import("../_Base").TypedNode<import("../../poly/NodeContext").NodeContext.GL, import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>): void;
        _name_controller: import("../utils/NameController").NameController | undefined;
        readonly parentController: import("../utils/hierarchy/ParentController").HierarchyParentController;
        _children_controller: import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        _children_controller_context: import("../../poly/NodeContext").NodeContext | undefined;
        readonly childrenControllerContext: import("../../poly/NodeContext").NodeContext | undefined;
        _create_children_controller(): import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        readonly childrenController: import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        childrenAllowed(): boolean;
        readonly uiData: import("../utils/UIData").UIData;
        readonly states: import("../utils/StatesController").StatesController;
        readonly lifecycle: import("../utils/LifeCycleController").LifeCycleController;
        readonly serializer: import("../utils/Serializer").NodeSerializer;
        readonly cookController: import("../utils/CookController").NodeCookController<import("../../poly/NodeContext").NodeContext.GL>;
        _io: import("../utils/io/IOController").IOController<import("../../poly/NodeContext").NodeContext.GL> | undefined;
        readonly io: import("../utils/io/IOController").IOController<import("../../poly/NodeContext").NodeContext.GL>;
        readonly nameController: import("../utils/NameController").NameController;
        setName(name: string): void;
        _set_core_name(name: string): void;
        readonly params: import("../utils/params/ParamsController").ParamsController;
        params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined;
        _initialized: boolean;
        initialize_base_and_node(): void;
        type(): string;
        nodeContext(): import("../../poly/NodeContext").NodeContext;
        require_webgl2(): boolean;
        setParent(parent: import("../_Base").BaseNodeType | null): void;
        parent(): import("../_Base").BaseNodeType | null;
        root(): import("../manager/ObjectsManager").ObjectsManagerNode;
        fullPath(relative_to_parent?: import("../_Base").BaseNodeType | undefined): string;
        create_params(): void;
        addParam<T extends import("../../poly/ParamType").ParamType>(type: T, name: string, default_value: import("../../params/types/ParamInitValuesTypeMap").ParamInitValuesTypeMap[T], options?: import("../../params/utils/OptionsController").ParamOptions | undefined): import("../../params/types/ParamConstructorMap").ParamConstructorMap[T] | undefined;
        requestContainer(): Promise<import("../../containers/Gl").GlContainer>;
        setContainer(content: string, message?: string | null): void;
        createNode(node_class: any, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): import("../_Base").BaseNodeType | undefined;
        create_operation_container(type: string, operation_container_name: string, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): import("../../../core/operations/container/_Base").BaseOperationContainer | undefined;
        removeNode(node: import("../_Base").BaseNodeType): void;
        dispose(): void;
        children(): import("../_Base").BaseNodeType[];
        node(path: string): import("../_Base").BaseNodeType | null;
        nodeSibbling(name: string): import("./_Base").BaseGlNodeType | null;
        nodesByType(type: string): import("../_Base").BaseNodeType[];
        setInput(input_index_or_name: string | number, node: import("./_Base").BaseGlNodeType | null, output_index_or_name?: string | number): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.CREATED, data: import("../_Base").NodeCreatedEmitData): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.DELETED, data: import("../_Base").NodeDeletedEmitData): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAME_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.OVERRIDE_CLONABLE_STATE_UPDATE): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAMED_INPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAMED_OUTPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.INPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.PARAMS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.UI_DATA_POSITION_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.UI_DATA_COMMENT_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.ERROR_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_BYPASS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_DISPLAY_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_OPTIMIZE_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.SELECTION_UPDATED): void;
        toJSON(include_param_components?: boolean): import("../utils/Serializer").NodeSerializerData;
        requiredModules(): Promise<void | import("../../poly/registers/modules/_BaseRegister").ModuleName[]>;
        usedAssembler(): void | import("../../poly/registers/assemblers/_BaseRegister").AssemblerName;
        integrationData(): void | import("../_Base").IntegrationData;
        readonly polyNodeController: import("../utils/poly/PolyNodeController").PolyNodeController | undefined;
        _graph: import("../../../core/graph/CoreGraph").CoreGraph;
        _graph_node_id: number;
        _dirty_controller: import("../../../core/graph/DirtyController").DirtyController;
        _scene: import("../../index_all").PolyScene;
        _name: string;
        name(): string;
        scene(): import("../../index_all").PolyScene;
        graphNodeId(): number;
        readonly dirtyController: import("../../../core/graph/DirtyController").DirtyController;
        setDirty(trigger?: import("../../../core/graph/CoreGraphNode").CoreGraphNode | null | undefined): void;
        setSuccessorsDirty(trigger?: import("../../../core/graph/CoreGraphNode").CoreGraphNode | undefined): void;
        removeDirtyState(): void;
        isDirty(): boolean;
        addPostDirtyHook(name: string, callback: import("../../../core/graph/DirtyController").PostDirtyHook): void;
        graphRemove(): void;
        addGraphInput(src: import("../../../core/graph/CoreGraphNode").CoreGraphNode, check_if_graph_has_cycle?: boolean): boolean;
        removeGraphInput(src: import("../../../core/graph/CoreGraphNode").CoreGraphNode): void;
        graphDisconnectPredecessors(): void;
        graphDisconnectSuccessors(): void;
        graphPredecessorIds(): number[];
        graphPredecessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphSuccessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphAllPredecessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphAllSuccessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
    };
    type(): string;
    nodeContext(): import("../../poly/NodeContext").NodeContext;
    displayedInputNames(): string[];
    require_webgl2(): boolean;
};
export declare class SubstractGlNode extends SubstractGlNode_base {
}
declare const MultGlNode_base: {
    new (scene: import("../../index_all").PolyScene, name?: string, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): {
        initializeNode(): void;
        set_lines(shaders_collection_controller: ShadersCollectionController): void;
        _gl_input_name(index: number): string;
        _gl_output_name(index: number): string;
        gl_operation(): string;
        _expected_input_types(): GlConnectionPointType[];
        _expected_output_types(): GlConnectionPointType[];
        params_config: import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig;
        gl_method_name(): string;
        gl_function_definitions(): import("./utils/GLDefinition").TypedGLDefinition<import("./utils/GLDefinition").GLDefinitionType>[];
        _param_configs_controller: import("../utils/code/controllers/ParamConfigsController").ParamConfigsController<import("./code/utils/ParamConfig").GlParamConfig<import("../../poly/ParamType").ParamType>> | undefined;
        _assembler: import("./code/assemblers/_Base").BaseGlShaderAssembler | undefined;
        initializeBaseNode(): void;
        cook(): void;
        _set_mat_to_recompile(): void;
        readonly material_node: import("./code/Controller").AssemblerControllerNode | undefined;
        gl_var_name(name: string): string;
        variable_for_input(name: string): string;
        reset_code(): void;
        set_param_configs(): void;
        param_configs(): readonly import("./code/utils/ParamConfig").GlParamConfig<import("../../poly/ParamType").ParamType>[] | undefined;
        param_default_value(name: string): any;
        container_controller: import("../utils/ContainerController").TypedContainerController<import("../../poly/NodeContext").NodeContext.GL>;
        _parent_controller: import("../utils/hierarchy/ParentController").HierarchyParentController | undefined;
        _ui_data: import("../utils/UIData").UIData | undefined;
        _states: import("../utils/StatesController").StatesController | undefined;
        _lifecycle: import("../utils/LifeCycleController").LifeCycleController | undefined;
        _serializer: import("../utils/Serializer").NodeSerializer | undefined;
        _cook_controller: import("../utils/CookController").NodeCookController<import("../../poly/NodeContext").NodeContext.GL> | undefined;
        readonly flags: import("../utils/FlagsController").FlagsController | undefined;
        readonly display_node_controller: import("../utils/DisplayNodeController").DisplayNodeController | undefined;
        readonly persisted_config: import("../utils/PersistedConfig").BasePersistedConfig | undefined;
        _params_controller: import("../utils/params/ParamsController").ParamsController | undefined;
        readonly pv: import("../utils/params/ParamsValueAccessor").ParamsValueAccessorType<import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>;
        readonly p: import("../utils/params/ParamsAccessor").ParamsAccessorType<import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>;
        copy_param_values(node: import("../_Base").TypedNode<import("../../poly/NodeContext").NodeContext.GL, import("./_BaseMathFunction").BaseGlMathFunctionParamsConfig>): void;
        _name_controller: import("../utils/NameController").NameController | undefined;
        readonly parentController: import("../utils/hierarchy/ParentController").HierarchyParentController;
        _children_controller: import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        _children_controller_context: import("../../poly/NodeContext").NodeContext | undefined;
        readonly childrenControllerContext: import("../../poly/NodeContext").NodeContext | undefined;
        _create_children_controller(): import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        readonly childrenController: import("../utils/hierarchy/ChildrenController").HierarchyChildrenController | undefined;
        childrenAllowed(): boolean;
        readonly uiData: import("../utils/UIData").UIData;
        readonly states: import("../utils/StatesController").StatesController;
        readonly lifecycle: import("../utils/LifeCycleController").LifeCycleController;
        readonly serializer: import("../utils/Serializer").NodeSerializer;
        readonly cookController: import("../utils/CookController").NodeCookController<import("../../poly/NodeContext").NodeContext.GL>;
        _io: import("../utils/io/IOController").IOController<import("../../poly/NodeContext").NodeContext.GL> | undefined;
        readonly io: import("../utils/io/IOController").IOController<import("../../poly/NodeContext").NodeContext.GL>;
        readonly nameController: import("../utils/NameController").NameController;
        setName(name: string): void;
        _set_core_name(name: string): void;
        readonly params: import("../utils/params/ParamsController").ParamsController;
        params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined;
        _initialized: boolean;
        initialize_base_and_node(): void;
        type(): string;
        nodeContext(): import("../../poly/NodeContext").NodeContext;
        require_webgl2(): boolean;
        setParent(parent: import("../_Base").BaseNodeType | null): void;
        parent(): import("../_Base").BaseNodeType | null;
        root(): import("../manager/ObjectsManager").ObjectsManagerNode;
        fullPath(relative_to_parent?: import("../_Base").BaseNodeType | undefined): string;
        create_params(): void;
        addParam<T extends import("../../poly/ParamType").ParamType>(type: T, name: string, default_value: import("../../params/types/ParamInitValuesTypeMap").ParamInitValuesTypeMap[T], options?: import("../../params/utils/OptionsController").ParamOptions | undefined): import("../../params/types/ParamConstructorMap").ParamConstructorMap[T] | undefined;
        requestContainer(): Promise<import("../../containers/Gl").GlContainer>;
        setContainer(content: string, message?: string | null): void;
        createNode(node_class: any, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): import("../_Base").BaseNodeType | undefined;
        create_operation_container(type: string, operation_container_name: string, params_init_value_overrides?: import("../utils/io/IOController").ParamsInitData | undefined): import("../../../core/operations/container/_Base").BaseOperationContainer | undefined;
        removeNode(node: import("../_Base").BaseNodeType): void;
        dispose(): void;
        children(): import("../_Base").BaseNodeType[];
        node(path: string): import("../_Base").BaseNodeType | null;
        nodeSibbling(name: string): import("./_Base").BaseGlNodeType | null;
        nodesByType(type: string): import("../_Base").BaseNodeType[];
        setInput(input_index_or_name: string | number, node: import("./_Base").BaseGlNodeType | null, output_index_or_name?: string | number): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.CREATED, data: import("../_Base").NodeCreatedEmitData): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.DELETED, data: import("../_Base").NodeDeletedEmitData): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAME_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.OVERRIDE_CLONABLE_STATE_UPDATE): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAMED_INPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.NAMED_OUTPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.INPUTS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.PARAMS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.UI_DATA_POSITION_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.UI_DATA_COMMENT_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.ERROR_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_BYPASS_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_DISPLAY_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.FLAG_OPTIMIZE_UPDATED): void;
        emit(event_name: import("../../poly/NodeEvent").NodeEvent.SELECTION_UPDATED): void;
        toJSON(include_param_components?: boolean): import("../utils/Serializer").NodeSerializerData;
        requiredModules(): Promise<void | import("../../poly/registers/modules/_BaseRegister").ModuleName[]>;
        usedAssembler(): void | import("../../poly/registers/assemblers/_BaseRegister").AssemblerName;
        integrationData(): void | import("../_Base").IntegrationData;
        readonly polyNodeController: import("../utils/poly/PolyNodeController").PolyNodeController | undefined;
        _graph: import("../../../core/graph/CoreGraph").CoreGraph;
        _graph_node_id: number;
        _dirty_controller: import("../../../core/graph/DirtyController").DirtyController;
        _scene: import("../../index_all").PolyScene;
        _name: string;
        name(): string;
        scene(): import("../../index_all").PolyScene;
        graphNodeId(): number;
        readonly dirtyController: import("../../../core/graph/DirtyController").DirtyController;
        setDirty(trigger?: import("../../../core/graph/CoreGraphNode").CoreGraphNode | null | undefined): void;
        setSuccessorsDirty(trigger?: import("../../../core/graph/CoreGraphNode").CoreGraphNode | undefined): void;
        removeDirtyState(): void;
        isDirty(): boolean;
        addPostDirtyHook(name: string, callback: import("../../../core/graph/DirtyController").PostDirtyHook): void;
        graphRemove(): void;
        addGraphInput(src: import("../../../core/graph/CoreGraphNode").CoreGraphNode, check_if_graph_has_cycle?: boolean): boolean;
        removeGraphInput(src: import("../../../core/graph/CoreGraphNode").CoreGraphNode): void;
        graphDisconnectPredecessors(): void;
        graphDisconnectSuccessors(): void;
        graphPredecessorIds(): number[];
        graphPredecessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphSuccessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphAllPredecessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
        graphAllSuccessors(): import("../../../core/graph/CoreGraphNode").CoreGraphNode[];
    };
    type(): string;
    nodeContext(): import("../../poly/NodeContext").NodeContext;
    displayedInputNames(): string[];
    require_webgl2(): boolean;
};
export declare class MultGlNode extends MultGlNode_base {
    static type(): string;
    param_default_value(name: string): number;
    initializeNode(): void;
    protected _expected_output_type(): GlConnectionPointType[];
    protected _expected_input_types(): GlConnectionPointType[];
}
export {};
