/** * Utility functions for calculating accurate lyric progress * based on word timing in parts */ import type { LyricPart } from '../types'; /** * Calculate accurate progress for line-level wipe effect * Based on character position according to actual word timings * * Progress is calculated by finding how many characters should be highlighted * based on the current time and the timing of each part (word). * * @param parts - Array of lyric parts with timing * @param currentTime - Current playback time (in milliseconds) * @returns Progress value between 0 and 1 */ export declare function calculateLineProgress(parts: LyricPart[], currentTime: number): number; /** * Calculate accurate progress with word-by-word precision * This version counts complete words only (no partial word highlighting) * * @param parts - Array of lyric parts with timing * @param currentTime - Current playback time (in milliseconds) * @returns Progress value between 0 and 1 */ export declare function calculateLineProgressWordByWord(parts: LyricPart[], currentTime: number): number; /** * Get debug information about current progress calculation * Useful for troubleshooting timing issues */ export declare function getProgressDebugInfo(parts: LyricPart[], currentTime: number): { currentTime: number; totalChars: number; charsHighlighted: number; progress: number; currentPartIndex: number; currentPartText: string; currentPartTime: number; };