/**
 * Splits a geometry into multiple objects
 *
 * @remarks
 * This is useful to isolate parts of a geometry that matches a specific attribute.
 *
 */
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 SplitSopParamsConfig extends NodeParamsConfig {
    /** @param type of attribute to use */
    attribType: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param name of the attribute */
    attribName: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
}
export declare class SplitSopNode extends TypedSopNode<SplitSopParamsConfig> {
    paramsConfig: SplitSopParamsConfig;
    static type(): SopType;
    initializeNode(): void;
    private _newObjects;
    cook(input_contents: CoreGroup[]): void;
    _split_core_group(core_group: CoreGroup): void;
    private _split_core_object;
}
export {};
