interface Logger {
    options?: {
        debugMode?: boolean;
    };
}

interface SplitFileOptions extends Logger {
    file: File;
    chunkSize?: number;
}
interface SplitFileResult {
    chunk: File;
    chunkNumber: number;
    totalChunks: number;
    fileName: string;
    progress: number;
}
declare function splitFile({ file, chunkSize, options, }: SplitFileOptions): AsyncGenerator<SplitFileResult>;

interface File$1 {
    fieldname: string;
    originalname: string;
    encoding: string;
    mimetype: string;
    buffer: any;
    size: number;
}
interface SaveChunkOptions extends Logger {
    file: File$1;
    chunkNumber: number;
    totalChunks: number;
    outputDir?: string;
    chunkDir?: string;
}
interface SaveChunkResult {
    success: boolean;
    message: string;
    mergedFilePath?: string;
}
declare function saveChunk({ file, chunkNumber, totalChunks, outputDir, chunkDir, options, }: SaveChunkOptions): Promise<SaveChunkResult>;

export { type SaveChunkOptions, type SaveChunkResult, type SplitFileOptions, type SplitFileResult, saveChunk, splitFile };
