import { DicomFileRepository } from '@utrad-ical/circus-lib/lib/dicom-file-repository'; import { DicomImageExtractor, DicomMetadata } from '@utrad-ical/circus-lib/lib/image-extractor/dicomImageExtractor'; import { Initializer as MultiRangeInitializer, MultiRange } from 'multi-integer-range'; import RawData from '../../common/RawData'; export declare type VolumeProvider = (seriesUid: string) => Promise; /** * VolumeAccessor is a set of data which loadVolumeProvider middleware * creates and injects to Koa's context. */ export interface VolumeAccessor { imageMetadata: Map; volume: RawData; load: (range: MultiRangeInitializer, priority?: number) => Promise; determinePitch: () => Promise; images: MultiRange; } /** * Creates a priority loader that can be injected to Koa's context. * @param repository Bound DICOM file repository. * @param extractor Bound DicomImageExtractor. */ export declare function createVolumeProvider(repository: DicomFileRepository, extractor: DicomImageExtractor): VolumeProvider;