import { Enums } from '../constants';
import type { CodDicomWebServerOptions, CODRequestOptions, FileRequestOptions, InstanceMetadata, JsonMetadata, SeriesMetadata } from '../types';
declare class CodDicomWebServer {
    private filePromises;
    private files;
    private options;
    private fileManager;
    private metadataManager;
    private seriesUidFileUrls;
    constructor(args?: {
        maxCacheSize?: number;
        domain?: string;
        disableWorker?: boolean;
        enableOPFSCache?: boolean;
    });
    setOptions: (newOptions: Partial<CodDicomWebServerOptions>) => void;
    getOptions: () => CodDicomWebServerOptions;
    addFileUrl(seriesInstanceUID: string, type: Enums.URLType, url: string): void;
    fetchCod(wadorsUrl: string, headers?: Record<string, string> | undefined, { useSharedArrayBuffer, fetchType }?: CODRequestOptions): Promise<ArrayBufferLike | InstanceMetadata | SeriesMetadata | undefined>;
    fetchFile(fileUrl: string, headers: Record<string, string>, { offsets, useSharedArrayBuffer, fetchType }?: FileRequestOptions): Promise<ArrayBufferLike | undefined>;
    downloadSeriesFile(seriesInstanceUID: string): Promise<boolean>;
    delete(seriesInstanceUID: string): void;
    deleteAll(): void;
    parseMetadata(metadata: JsonMetadata, type: Enums.RequestType, sopInstanceUID: string): InstanceMetadata | SeriesMetadata;
}
export default CodDicomWebServer;
