import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
export declare enum SetGeometryMode {
    ONE_GEO_PER_OBJECT = "One Geometry Per Object",
    FIRST_GEO_TO_EACH_OBJECT = "First Geometry To Each Object"
}
export declare const SET_GEOMETRY_MODES: SetGeometryMode[];
interface SetGeometrySopParams extends DefaultOperationParams {
    mode: number;
}
export declare class SetGeometrySopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: SetGeometrySopParams;
    static readonly INPUT_CLONED_STATE: InputCloneMode[];
    static type(): Readonly<'setGeometry'>;
    cook(inputCoreGroups: CoreGroup[], params: SetGeometrySopParams): CoreGroup;
    private _applyMode;
    private _oneGeoPerObject;
    private _firstGeoToEachObject;
    private static __emptyGeometry;
    private static _emptyGeometry;
}
export {};
