import { XpbdParticleN, type XpbdVelocityResponseContextN, type XpbdVelocityResponseEvaluationN, type XpbdVelocityResponseN } from './xpbd-world.js'; export interface XpbdExponentialVelocityDampingNOptions { readonly id: string; readonly particles: readonly XpbdParticleN[]; /** Isotropic exponential decay rate in inverse seconds. */ readonly rate: number; } export interface XpbdExponentialVelocityDampingEvaluationN extends XpbdVelocityResponseEvaluationN { readonly rate: number; /** Exact per-substep multiplier `exp(-rate * deltaTime)`. */ readonly factor: number; readonly dampedParticleCount: number; readonly kineticEnergyBefore: number; readonly kineticEnergyAfter: number; readonly kineticEnergyChange: number; } /** * Dimension-independent isotropic velocity decay with a rate measured per * second. Because each substep applies `exp(-rate * h)`, the final velocity * factor is invariant under subdivision of the same total duration. */ export declare class XpbdExponentialVelocityDampingN implements XpbdVelocityResponseN { readonly id: string; readonly dimension: number; readonly particles: readonly XpbdParticleN[]; readonly rate: number; constructor(options: XpbdExponentialVelocityDampingNOptions); apply(context: XpbdVelocityResponseContextN): XpbdExponentialVelocityDampingEvaluationN; } //# sourceMappingURL=xpbd-velocity-damping.d.ts.map