import { BaseSopOperation } from '@polygonjs/polygonjs/dist/src/core/operations/sop/_Base';
import { DefaultOperationParams } from '@polygonjs/polygonjs/dist/src/core/operations/_Base';
import { CoreGroup } from '@polygonjs/polygonjs/dist/src/core/geometry/Group';
import { InputCloneMode } from '@polygonjs/polygonjs/dist/src/engine/poly/InputCloneMode';
export declare enum RBDAttributeMode {
    OBJECTS = "objects",
    POINTS = "points"
}
export declare const RBD_ATTRIBUTE_MODES: Array<RBDAttributeMode>;
interface PhysicsRbdAttributesSopParams extends DefaultOperationParams {
    mode: number;
    active: boolean;
    shape: number;
    addId: boolean;
    mass: number;
    restitution: number;
    damping: number;
    angularDamping: number;
    friction: number;
    simulated: number;
}
export declare class PhysicsRbdAttributesSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: PhysicsRbdAttributesSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<'physicsRbdAttributes'>;
    cook(input_contents: CoreGroup[], params: PhysicsRbdAttributesSopParams): CoreGroup;
    private _add_object_attributes;
    private _bbox_size;
    private _object_t;
    private _object_q;
    private _object_s;
    private _add_object_shape_specific_attributes;
    private _add_point_attributes;
}
export {};
