/**
 * Animation utilities for POI group expand/collapse animations
 */
/**
 * Easing function for smooth animations
 * @param progress - Animation progress from 0 to 1
 * @returns Eased value
 */
export declare function easeInOutQuad(progress: number): number;
/**
 * Interface for animation config
 */
export interface AnimationConfig {
    duration: number;
    onUpdate: (progress: number) => void;
    onComplete?: () => void;
    onError?: (error: Error) => void;
}
/**
 * Animation manager for requestAnimationFrame-based animations
 */
export declare class AnimationManager {
    private animationId;
    private startTime;
    private startProgress;
    /**
     * Start a new animation
     * @param targetProgress - Target progress value (0-1)
     * @param fromProgress - Starting progress value (0-1)
     * @param config - Animation configuration
     */
    start(targetProgress: number, fromProgress: number, config: AnimationConfig): void;
    /**
     * Cancel the current animation
     */
    cancel(): void;
    /**
     * Check if animation is running
     */
    isRunning(): boolean;
}
/**
 * Per-frame lerp that moves `current` toward `to` by a fraction of the remaining distance each frame.
 * Snaps to `to` when within 0.5 units to avoid asymptotic creep.
 */
export declare function frameLerp(current: number, to: number, speed?: number): number;
//# sourceMappingURL=animation-utils.d.ts.map