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 InstanceUpdateMode {
    GEO = "geo",
    POINTS = "points"
}
export declare const INSTANCE_UPDATE_MODES: InstanceUpdateMode[];
interface InstanceUpdateSopParams extends DefaultOperationParams {
    mode: number;
    geoAttributes: string;
    pointAttributes: string;
}
export declare class InstanceUpdateSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: InstanceUpdateSopParams;
    static readonly INPUT_CLONED_STATE: InputCloneMode[];
    static type(): Readonly<'instanceUpdate'>;
    cook(inputCoreGroups: CoreGroup[], params: InstanceUpdateSopParams): CoreGroup;
    private _cookFromUpdateMode;
    private _updateGeo;
    private _updatePoints;
}
export {};
