import { Configuration } from '../Configuration'; import Logger from './logger/Logger'; import ImageEncoder from './image-encoder/ImageEncoder'; import { DicomFileRepository } from '@utrad-ical/circus-lib/lib/dicom-file-repository'; import Counter from './Counter'; import { VolumeProvider, VolumeAccessor } from './createVolumeProvider'; import { AsyncCachedLoader } from '../../common/asyncMemoize'; /** * This is a simple facade interface that aggregates helper modules */ export interface AppHelpers { readonly logger: Logger; readonly authorizer?: Authorizer; readonly counter: Counter; readonly repository?: DicomFileRepository; readonly imageEncoder?: ImageEncoder; readonly volumeProvider?: VolumeProvider | AsyncCachedLoader; } export interface Authorizer { issueToken: (target: string) => Promise; checkToken: (token: string, target?: string) => Promise; dispose?: () => Promise; } export default function prepareHelperModules(config: Configuration): Promise; export declare function disposeHelperModules(modules: AppHelpers): Promise;