import { Integrator, IntegratorState } from './types';
export type ResistanceType = "linear" | "quadratic";
export interface InertiaIntegratorConfig {
    /** Acceleration force (higher = faster acceleration) */
    acceleration: number;
    /** Resistance coefficient (higher = more resistance, lower terminal velocity) */
    resistance: number;
    /** Resistance type: 'linear' (proportional to v) or 'quadratic' (proportional to v²) */
    resistanceType?: ResistanceType;
    /** Minimum boundary value */
    min?: number;
    /** Maximum boundary value */
    max?: number;
    /** Spring stiffness for boundary bounce @default 500 */
    bounceStiffness?: number;
    /** Spring damping for boundary bounce @default 10 */
    bounceDamping?: number;
    /** Position threshold for settling detection @default 0.01 */
    restDelta?: number;
}
export declare class InertiaIntegrator implements Integrator {
    private readonly acceleration;
    private readonly resistance;
    private readonly resistanceType;
    private readonly min;
    private readonly max;
    private readonly bounceStiffness;
    private readonly bounceDamping;
    private readonly restDelta;
    constructor(config: InertiaIntegratorConfig);
    step(state: IntegratorState, target: number, dt: number): IntegratorState;
    isSettled(state: IntegratorState, target: number): boolean;
}
//# sourceMappingURL=inertia-integrator.d.ts.map