/**
 * get an intersection attribute
 *
 *
 */
import { TypedJsNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { ParamConvertibleJsType } from '../utils/io/connections/Js';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
declare enum GetIntersectionAttributeInputName {
    attribName = "attribName",
    notFoundValue = "notFoundValue"
}
declare class GetIntersectionAttributeJsParamsConfig extends NodeParamsConfig {
    type: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    interpolated: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class GetIntersectionAttributeJsNode extends TypedJsNode<GetIntersectionAttributeJsParamsConfig> {
    readonly paramsConfig: GetIntersectionAttributeJsParamsConfig;
    static type(): string;
    static readonly OUTPUT_NAME = "val";
    initializeNode(): void;
    private _expectedInputTypes;
    private _expectedInputNames;
    private _nextAttribName;
    paramDefaultValue(name: GetIntersectionAttributeInputName): string | number;
    setAttribType(type: ParamConvertibleJsType): void;
    attribType(): ParamConvertibleJsType;
    setAttribName(attribName: string): void;
    attributeName(): string;
    setLines(shadersCollectionController: JsLinesCollectionController): void;
    private _getBodyLine;
}
export {};
