/**
 * Snaps points onto one another.
 *
 * @remarks
 * Based on a distance threshold.
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { SopType } from '../../poly/registers/nodes/types/Sop';
declare class FuseSopParamsConfig extends NodeParamsConfig {
    /** @param group to assign the material to */
    group: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param distance threshold */
    dist: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param fuse only open edges */
    onlyOpenEdges: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param recompute normals */
    computeNormals: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
}
export declare class FuseSopNode extends TypedSopNode<FuseSopParamsConfig> {
    paramsConfig: FuseSopParamsConfig;
    static type(): SopType;
    initializeNode(): void;
    cook(inputCoreGroups: CoreGroup[]): void;
    private _filterObject;
    private _filterMesh;
    private _filterLineSegments;
    private _filterPoints;
    private _fuseGeometry;
}
export {};
