/**
 * Apply elastic edge effect at scroll boundaries
 * Creates a spring-back effect when scrolling past limits
 *
 * @param position - Current scroll position
 * @param min - Minimum scroll boundary (usually 0)
 * @param max - Maximum scroll boundary
 * @param strength - Effect strength (0-1, higher = more resistance)
 * @returns Modified position with elastic effect applied
 */
export declare function applyElasticEdgeEffect(position: number, min: number, max: number, strength?: number): number;
/**
 * Apply rubber-band overscroll effect
 * iOS-style resistance when scrolling past boundaries
 *
 * @param delta - Scroll delta to apply
 * @param position - Current scroll position
 * @param min - Minimum scroll boundary
 * @param max - Maximum scroll boundary
 * @param strength - Resistance strength (0-1, higher = more resistance)
 * @returns Modified delta with rubber-band effect
 */
export declare function applyRubberBandEffect(delta: number, position: number, min: number, max: number, strength?: number): number;
/**
 * Calculate spring-back force for elastic edges
 * Returns velocity adjustment to spring back to bounds
 *
 * @param position - Current position
 * @param min - Minimum boundary
 * @param max - Maximum boundary
 * @param stiffness - Spring stiffness (higher = faster spring-back)
 * @returns Spring force to apply
 */
export declare function calculateSpringForce(position: number, min: number, max: number, stiffness?: number): number;
/**
 * Smooth damping function for velocity
 * Applies gradual deceleration
 *
 * @param velocity - Current velocity
 * @param damping - Damping factor (0-1, higher = faster slowdown)
 * @returns Damped velocity
 */
export declare function applyVelocityDamping(velocity: number, damping?: number): number;
/**
 * Check if position is within elastic zone near boundaries
 *
 * @param position - Current position
 * @param min - Minimum boundary
 * @param max - Maximum boundary
 * @param threshold - Distance from boundary to consider elastic (pixels)
 * @returns True if in elastic zone
 */
export declare function isInElasticZone(position: number, min: number, max: number, threshold?: number): boolean;
