/**
 * reads or writes a position or geometry attribute
 *
 *
 */
import { TypedJsNode, BaseJsNodeType } from './_Base';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
import { JsConnectionPointType, BaseJsConnectionPoint } from '../utils/io/connections/Js';
import { JsType } from '../../poly/registers/nodes/types/Js';
export declare const ATTRIBUTE_NODE_AVAILABLE_JS_TYPES: JsConnectionPointType[];
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { PointBuilderFunctionDataAttributeDataItem } from './code/assemblers/pointBuilder/_BasePointBuilderPersistedConfig';
export declare enum AttributeJsNodeInput {
    EXPORT = "export"
}
export declare enum AttributeJsNodeOutput {
    VAL = "val"
}
declare class AttributeJsParamsConfig extends NodeParamsConfig {
    name: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    type: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param allows to export the attribute */
    exportWhenConnected: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class AttributeJsNode extends TypedJsNode<AttributeJsParamsConfig> {
    paramsConfig: AttributeJsParamsConfig;
    static type(): JsType;
    initializeNode(): void;
    private _expectedInputTypes;
    private _expectedOutputType;
    inputName(): AttributeJsNodeInput;
    outputName(): AttributeJsNodeOutput;
    setLines(linesController: JsLinesCollectionController): void;
    attribData(): PointBuilderFunctionDataAttributeDataItem;
    attributeName(): string;
    jsType(): JsConnectionPointType;
    setJsType(type: JsConnectionPointType): void;
    connected_input_node(): BaseJsNodeType | null;
    connected_input_connection_point(): BaseJsConnectionPoint | undefined;
    output_connection_point(): BaseJsConnectionPoint | undefined;
    isImporting(): boolean;
    isExporting(): boolean;
}
export {};
