export interface Chunk {
    blob: Blob;
    sparkResult: any;
    start: number;
    end: number;
    hash: string;
    index: number;
}
/**
 * 创建文件块
 *
 * 该函数的目的是将一个大文件分割成多个小块，以便于分块处理，如分块上传到服务器
 * 每个文件块包含文件的一部分，以及一些元数据，如文件块的起始位置、结束位置、哈希值和索引
 *
 * @param file 要分割的文件对象
 * @param index 当前文件块的索引，用于确定文件块在原始文件中的位置
 * @param chunkSize 文件块的大小，以字节为单位
 * @returns 返回一个包含文件块信息的对象，包括文件块的Blob对象、起始位置、结束位置、哈希值和索引
 */
export declare function createChunk(file: File, index: number, chunkSize: number): Chunk;
/**
 * 计算文件块的MD5哈希值
 * 此函数用于生成一个文件块的MD5哈希值，它通过使用SparkMD5库和FileReader API来实现
 * 选择使用Promise来处理异步文件读取操作，确保在文件读取完成后才计算哈希值
 *
 * @param chunk 文件块对象，包含需要计算哈希值的文件信息
 * @returns 返回一个Promise，解析为文件块的MD5哈希值字符串
 */
export declare function calcChunkHash(chunk: Chunk): Promise<string>;
export declare function calcChunkHashAndSparkResult(chunk: Chunk): Promise<unknown>;
