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';
import { Vector3 } from 'three/src/math/Vector3';
export declare enum RBDAttributeMode {
    OBJECTS = "objects",
    POINTS = "points"
}
export declare const RBD_ATTRIBUTE_MODES: Array<RBDAttributeMode>;
interface PhysicsSolverSopParams extends DefaultOperationParams {
    startFrame: number;
    gravity: Vector3;
    maxSubsteps: number;
}
export declare class PhysicsSolverSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: PhysicsSolverSopParams;
    static readonly INPUT_CLONED_STATE: InputCloneMode[];
    static type(): Readonly<'physicsSolver'>;
    cook(input_contents: CoreGroup[], params: PhysicsSolverSopParams): CoreGroup;
}
export {};
