import Queue from '../queues/queue.js' import { Item } from '../types/types.js' export interface Downloader extends Queue { initialize(params: { results: Queue total: number maxDownloadBatchWait?: number }): void downloadSingle(): Promise disposeAsync(): Promise } export interface Database { getAll(ids: string[]): Promise<(Item | undefined)[]> putAll(batch: Item[]): Promise dispose(): void }