export interface Lyric { timestamp: number; wordTimestamps?: { timestamp: number; content: string; }[]; rawContent: string; content: string; } export interface CombineLyric { timestamps: number[]; rawContent: string; content: string; } export type Info = Record; /** * get lrc time string * @example * Lrc.timestampToString(143.54) * // return '02:23.54': * @param timestamp second timestamp */ export declare function timestampToString(timestamp: number): string; export type LineFormat = '\r\n' | '\r' | '\n'; export type ParseOptions = { enhanced?: boolean; }; export interface ToStringOptions { combine: boolean; sort: boolean; lineFormat: LineFormat; } export declare class Lrc { info: Info; lyrics: Lyric[]; plain: string; /** * parse lrc text and return a Lrc object */ static parse(text: string, options?: ParseOptions): Lrc; offset(offsetTime: number): void; clone(): Lrc; /** * get lrc text * @param opts.combine lyrics combine by same content * @param opts.sort lyrics sort by timestamp * @param opts.lineFormat newline format */ toString({ combine, lineFormat, sort, }?: Partial): string; }