/**
 * Applies multiple rotations with one node
 *
 *
 *
 */
import { TypedSopNode } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
declare class TransformMultiSopParamConfig extends NodeParamsConfig {
    /** @param defines if this applies to objects or geometries */
    applyOn: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param number of transformations this can apply */
    count: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    sep0: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
    /** @param transform 0 rotation order */
    rotationOrder0: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param rotation 0 */
    r0: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
    sep1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
    /** @param transform 1 rotation order */
    rotationOrder1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param rotation 1 */
    r1: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
    sep2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
    /** @param transform 2 rotation order */
    rotationOrder2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param rotation 2 */
    r2: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
    sep3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
    /** @param transform 3 rotation order */
    rotationOrder3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param rotation 3 */
    r3: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
    sep4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
    /** @param transform 4 rotation order */
    rotationOrder4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param rotation 4 */
    r4: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
    sep5: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.SEPARATOR>;
    /** @param transform 5 rotation order */
    rotationOrder5: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
    /** @param rotation 5 */
    r5: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
}
export declare class TransformMultiSopNode extends TypedSopNode<TransformMultiSopParamConfig> {
    params_config: TransformMultiSopParamConfig;
    static type(): string;
    static displayedInputNames(): string[];
    initializeNode(): void;
    private _core_transform;
    private _rot_and_index_pairs;
    cook(input_contents: CoreGroup[]): void;
    private _apply_transforms;
    private _apply_matrix_to_geometries;
    private _apply_matrix_to_objects;
    private _t;
    private _s;
    private _scale;
    private _matrix;
}
export {};
