/**
 * Projects points from the left input geometry onto the faces of the right input geometry.
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { RaySopMode } from '../../operations/sop/Ray';
import { SopType } from '../../poly/registers/nodes/types/Sop';
declare class RaySopParamsConfig extends NodeParamsConfig {
    /** @param method used to ray points onto the collision geometry */
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param toggle on to use the normals as the ray direction */
    useNormals: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param if the normals are not used as the ray direction, this define the direction used */
    direction: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param moves the points or leaves them in place */
    transformPoints: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param copies the normals from the right geometry to the left one */
    transferFaceNormals: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param copies the UVs */
    transferUVs: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param adds an attribute with the distance to the hit position on the target geometry */
    addDistAttribute: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class RaySopNode extends TypedSopNode<RaySopParamsConfig> {
    paramsConfig: RaySopParamsConfig;
    static type(): SopType;
    initializeNode(): void;
    private _operation;
    cook(inputCoreGroups: CoreGroup[]): void;
    setMode(mode: RaySopMode): void;
}
export {};
