import EulerSimulationND from './EulerSimulationND';
import { SimulationNDProps, SimulationNDState } from './SimulationND';
export interface EulerSpringNDProps<V> extends SimulationNDProps<V> {
    stiffness: number;
    damping: number;
}
export default abstract class EulerSpringND<V> extends EulerSimulationND<V> {
    protected target: Float32Array;
    stiffness: number;
    damping: number;
    constructor({ stiffness, damping, ...rest }?: Partial<EulerSpringNDProps<V>>);
    step(time: number): void;
    protected computeForce(out: Float32Array, state: SimulationNDState): void;
    protected checkResting(): boolean;
    set(target: V): void;
    resetTo(value: V): void;
}
