/**
 * Merge input geometries
 *
 * @remarks
 * This node can take up to 4 inputs. It can operate within 1 of 2 modes:
 *
 * - compact ON: all objects will be merged in as few objects as possible. So all meshes will be merged into one, all point objects into one, and all line objects into one. This requires the objects to have the same attributes.
 * - compact OFF: all objects are simply put under a common parent, but remain distinct objects.

 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class MergeSopParamsConfig extends NodeParamsConfig {
    /** @param When off, input objects remain separate. When on, they are merged together by type (mesh, points and lines). In order to merge them correctly, you'll have to make sure they have the same attributes */
    compact: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
}
export declare class MergeSopNode extends TypedSopNode<MergeSopParamsConfig> {
    params_config: MergeSopParamsConfig;
    static type(): string;
    static displayedInputNames(): string[];
    initializeNode(): void;
    private _operation;
    cook(input_contents: CoreGroup[]): void;
}
export {};
