import { BaseJsShaderAssembler, SpareParamOptions } from '../_Base';
import { JsFunctionName } from '../../../../utils/shaders/ShaderName';
import { BaseJsNodeType } from '../../../_Base';
import { ActorFunctionData } from './ActorPersistedConfig';
import { ParamOptions } from '../../../../../params/utils/OptionsController';
import { JsShaderConfig } from '../../configs/ShaderConfig';
export declare class JsAssemblerActor extends BaseJsShaderAssembler {
    makeFunctionNodeDirtyOnChange(): boolean;
    templateShader(): {
        main: string;
    };
    inputNamesForShaderName(rootNode: BaseJsNodeType, shaderName: JsFunctionName): string[];
    computedVariablesAllowed(): boolean;
    spareParamsOptions(options: SpareParamOptions): ParamOptions;
    defaultObjectVariable(): string;
    defaultObject3DMaterialVariable(): string;
    defaultPrimitiveGraph(): string;
    createFunctionData(additionalRootNodes: BaseJsNodeType[]): ActorFunctionData | undefined;
    private _createFunctionData;
    rootNodesByShaderName(shaderName: JsFunctionName, rootNodes: BaseJsNodeType[]): BaseJsNodeType[];
    create_shader_configs(): JsShaderConfig[];
    create_variable_configs(): never[];
}
