import { SourceMediaRegistry } from '../../core/resources/sourceMediaRegistry';
interface GetVideoDurationOptions {
    registry?: SourceMediaRegistry;
    cacheKey?: string;
    force?: boolean;
}
export declare class TimeUtils {
    /**
     * 将毫秒转换为秒
     */
    static msToSeconds(ms: number): number;
    /**
     * 将秒转换为毫秒
     */
    static secondsToMs(seconds: number): number;
    /**
     * 根据缩放比例计算像素位置
     * @param time 时间（毫秒）
     * @param zoom 缩放比例（像素/秒）
     */
    static timeToPixels(time: number, zoom: number): number;
    /**
     * 根据缩放比例计算时间
     * @param pixels 像素位置
     * @param zoom 缩放比例（像素/秒）
     */
    static pixelsToTime(pixels: number, zoom: number): number;
    /**
     * 格式化时间显示
     */
    static formatTime(ms: number): string;
    /**
     * 格式化时长（毫秒 -> ss.ms）
     */
    static formatDuration(ms: number): string;
    /**
     * 计算两个时间点之间的差值
     */
    static diffTime(time1: number, time2: number): number;
    /**
     * 检查时间是否在范围内
     */
    static isTimeInRange(time: number, start: number, end: number): boolean;
    /**
     * 限制时间在范围内
     */
    static clampTime(time: number, min: number, max: number): number;
    /**
     * 计算片段的结束时间
     */
    static calculateEndTime(startTime: number, duration: number): number;
    /**
     * 刻度类型
     */
    static readonly TICK_TYPE_MAJOR = "major";
    static readonly TICK_TYPE_MINOR = "minor";
    /**
     * 生成时间刻度配置
     * @param zoom 缩放比例（像素/秒）
     */
    static getTickConfig(zoom: number): {
        majorStep: number;
        minorStep: number;
    };
    /**
     * 生成时间刻度
     * @param duration 总时长
     * @param step 刻度间隔
     */
    static generateTimeTicks(duration: number, step?: number): number[];
    /**
     * 生成可视区域内的时间刻度
     * @param startSeconds 起始时间（秒）
     * @param endSeconds 结束时间（秒）
     * @param majorStep 大刻度间隔（秒）
     * @param minorStep 小刻度间隔（秒）
     */
    static generateVisibleTicks(startSeconds: number, endSeconds: number, majorStep: number, minorStep: number): {
        time: number;
        type: string;
    }[];
    /**
     * 获取视频时长（毫秒）
     * @param src 视频源地址
     */
    static getVideoDuration(src: string, options?: GetVideoDurationOptions): Promise<number>;
}
export {};
