import Job from "./Job";
import { BucketDetails, DownloadStats, ExtractedTarFile, SavedCallbackFn } from "../types";
declare class CodDownload {
    private directoryHandle;
    private logs;
    private bucketDetails;
    private headers;
    private metadata;
    private filesToFetch;
    private stats;
    initDirectory(): Promise<void>;
    initBucket(bucketDetails: string | BucketDetails): void;
    getStats(studyInstanceUIDs: string[]): Promise<DownloadStats | undefined>;
    download(studyInstanceUIDs: string[], zipOutput?: boolean): Promise<Job>;
    getLogs(): Promise<void>;
    updateLogs(): Promise<void>;
    parseBucketDetails(bucketDetails: string): void;
    fetchStudyMetadata(studyInstanceUIDs: string[]): Promise<void>;
    calculateStats(): void;
    handleZipping(): Promise<void>;
    handleSaving(url: string, files: ExtractedTarFile[], callbacks: SavedCallbackFn[]): Promise<void>;
    readDirectory(dirHandle: FileSystemDirectoryHandle, rootPath?: string): Promise<{
        name: string;
        file: File;
    }[]>;
    createLogString(studyInstanceUID: string, seriesInstanceUID: string, sopInstanceUID: string): string;
    private handleError;
    reset(): void;
}
declare const codDownload: CodDownload;
export default codDownload;
