import { AbstractService } from '../../common/AbstractService.ts'; import type { ChangesStreamTaskData } from '../entity/Task.ts'; export type UpstreamRegistryInfo = { registry_name: string; source_registry: string; changes_stream_url: string; } & ChangesStreamTaskData; export interface DownloadInfo { today: number; yesterday: number; samedayLastweek: number; thisweek: number; thismonth: number; thisyear: number; lastweek: number; lastmonth: number; lastyear: number; } export interface TotalData { packageCount: number; packageVersionCount: number; lastPackage: string; lastPackageVersion: string; download: DownloadInfo; changesStream: ChangesStreamTaskData; lastChangeId: number | bigint; cacheTime: string; upstreamRegistries: UpstreamRegistryInfo[]; } export declare class CacheService extends AbstractService { private cacheAdapter; getPackageEtag(fullname: string, isFullManifests: boolean): Promise; getPackageManifests(fullname: string, isFullManifests: boolean): Promise | null>; savePackageEtagAndManifests(fullname: string, isFullManifests: boolean, etag: string, manifests: Buffer): Promise; getTotalData(): Promise; saveTotalData(totalData: TotalData): Promise; removeCache(fullname: string): Promise; private cacheKey; }