import Stepper, { StepperProps } from './Stepper';
export declare type SimulationState = [x: number, v: number];
export interface SimulationProps extends StepperProps {
    value: number;
    velocity: number;
    mass: number;
    restDelta: number;
}
export default abstract class Simulation extends Stepper {
    private initial;
    protected restDelta: number;
    protected state: SimulationState;
    mass: number;
    constructor({ value, velocity, mass, restDelta, ...rest }?: Partial<SimulationProps>);
    protected computeForce(state: SimulationState): number;
    protected checkResting(): boolean;
    get(): number;
    getVelocity(): number;
    setVelocity(value: number): void;
    resetTo(value: number): void;
    reset(): void;
}
