/**
 * NeighbourAttract is used in particles systems to create flocking behaviours
 *
 *
 *
 */
import { TypedGlNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { ShadersCollectionController } from './code/utils/ShadersCollectionController';
declare class NeighbourAttractGlParamsConfig extends NodeParamsConfig {
    positionAttribName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    position: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    amount: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    startDist: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    midDist: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    endDist: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
}
export declare class NeighbourAttractGlNode extends TypedGlNode<NeighbourAttractGlParamsConfig> {
    paramsConfig: NeighbourAttractGlParamsConfig;
    static type(): string;
    initializeNode(): void;
    setLines(shadersCollectionController: ShadersCollectionController): void;
    private _templateFunctionDefinition;
}
export {};
