import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { Vector3 } from 'three';
import { DefaultOperationParams } from '../../../core/operations/_Base';
import { SopType } from '../../poly/registers/nodes/types/Sop';
interface TransformSopParams extends DefaultOperationParams {
    applyOn: number;
    group: string;
    objectMode: number;
    objectTransformSpace: number;
    pointGroup: string;
    rotationOrder: number;
    t: Vector3;
    r: Vector3;
    s: Vector3;
    scale: number;
    pivot: Vector3;
}
export declare class TransformSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: TransformSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<SopType.TRANSFORM>;
    private _coreTransform;
    cook(inputCoreGroups: CoreGroup[], params: TransformSopParams): CoreGroup;
    private _applyTransform;
    private _applyTransformWithoutTransformTargetType;
    private _applyTransformWithTransformTargetType;
    private _updateGeometry;
    private _updateObject;
    private _setMatrix;
    private _multMatrix;
    private _matrix;
}
export {};
