/**
 * Transfers an attribute from right input to left input
 *
 * @remarks
 * This can be useful to create heatmap.
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { CoreOctree } from '../../../core/math/octree/Octree';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class AttribTransferSopParamsConfig extends NodeParamsConfig {
    /** @param source group to transfer from (right input, or input 1) */
    srcGroup: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>;
    /** @param dest group to transfer to (left input, or input 0) */
    destGroup: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>;
    /** @param name of the attribute to transfer */
    name: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.STRING>;
    /** @param max number of samples to use */
    maxSamplesCount: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param max distance to search points to transfer from */
    distanceThreshold: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
    /** @param blend width */
    blendWidth: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
}
export declare class AttribTransferSopNode extends TypedSopNode<AttribTransferSopParamsConfig> {
    params_config: AttribTransferSopParamsConfig;
    static type(): string;
    _core_group_dest: CoreGroup;
    _core_group_src: CoreGroup;
    _attrib_names: string[];
    _octree_timestamp: number | undefined;
    _prev_param_srcGroup: string | undefined;
    _octree: CoreOctree | undefined;
    static displayedInputNames(): string[];
    initializeNode(): void;
    cook(input_contents: CoreGroup[]): Promise<void>;
    _error_if_attribute_not_found_on_second_input(): void;
    private _build_octree_if_required;
    private _add_attribute_if_required;
    private _transfer_attributes;
    private _transfer_attributes_for_point;
    private _interpolate_points;
}
export {};
