/** * Calculation Utilities * * Common mathematical calculations used throughout the app */ /** * Clamps a number between a minimum and maximum value * @param value - The value to clamp * @param min - Minimum allowed value (default: 0) * @param max - Maximum allowed value (default: 100) * @returns Clamped value */ export declare function clamp(value: number, min?: number, max?: number): number; /** * Calculates progress percentage * @param current - Current value * @param total - Total value * @returns Percentage (0-100) */ export declare function calculatePercentage(current: number, total: number): number; /** * Rounds a number to specified decimal places * @param value - The value to round * @param decimals - Number of decimal places (default: 0) * @returns Rounded value */ export declare function roundTo(value: number, decimals?: number): number; /** * Converts intensity (0-100) to opacity (0-1) * @param intensity - Intensity value (0-100) * @param minOpacity - Minimum opacity (default: 0.05) * @param maxOpacity - Maximum opacity (default: 0.95) * @returns Opacity value (0-1) */ export declare function intensityToOpacity(intensity: number, minOpacity?: number, maxOpacity?: number): number; /** * Calculates grid item width based on container width and columns * @param containerWidth - Total container width * @param columns - Number of columns * @param gap - Gap between items in pixels * @returns Item width in pixels */ export declare function calculateGridItemWidth(containerWidth: number, columns: number, gap: number): number; /** * Checks if a value is within a range (inclusive) * @param value - Value to check * @param min - Range minimum * @param max - Range maximum * @returns True if value is in range */ export declare function isInRange(value: number, min: number, max: number): boolean; /** * Linear interpolation between two values * @param start - Start value * @param end - End value * @param progress - Progress (0-1) * @returns Interpolated value */ export declare function lerp(start: number, end: number, progress: number): number; /** * Maps a value from one range to another * @param value - Value to map * @param inMin - Input range minimum * @param inMax - Input range maximum * @param outMin - Output range minimum * @param outMax - Output range maximum * @returns Mapped value */ export declare function mapRange(value: number, inMin: number, inMax: number, outMin: number, outMax: number): number;