/**
 * get a point attribute
 *
 *
 */
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { JsConnectionPointType } from '../utils/io/connections/Js';
import { JsLinesCollectionController } from './code/utils/JsLinesCollectionController';
import { TypedJsNode } from './_Base';
import { JsType } from '../../poly/registers/nodes/types/Js';
type AvailableType = JsConnectionPointType.FLOAT | JsConnectionPointType.INT | JsConnectionPointType.VECTOR2 | JsConnectionPointType.VECTOR3 | JsConnectionPointType.VECTOR4;
export declare const AVAILABLE_TYPES: Array<AvailableType>;
declare enum GetPointAttributeInputName {
    attribName = "attribName"
}
declare class GetObjectAttributeJsParamsConfig extends NodeParamsConfig {
    type: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    defaultFloat: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    defaultInteger: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    defaultVector2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR2>;
    defaultVector3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    defaultVector4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR4>;
}
export declare class GetPointAttributeJsNode extends TypedJsNode<GetObjectAttributeJsParamsConfig> {
    readonly paramsConfig: GetObjectAttributeJsParamsConfig;
    static type(): JsType;
    initializeNode(): void;
    private _currentConnectionType;
    defaultValueParam(): import("../../index_all").FloatParam | import("../../index_all").IntegerParam | import("../../index_all").Vector2Param | import("../../index_all").Vector3Param | import("../../index_all").Vector4Param;
    private _bodyLine;
    private _nextAttribName;
    paramDefaultValue(name: GetPointAttributeInputName): string;
    setAttribType(type: AvailableType): void;
    attribType(): AvailableType;
    setAttribName(attribName: string): void;
    attributeName(): string;
    setLines(linesController: JsLinesCollectionController): void;
}
export {};
