/** * Verified, content-addressed cache for registry ZIP archives. * * @experimental This API is unstable and may change without notice. */ import * as Duration from "effect/Duration"; import * as FileSystem from "effect/FileSystem"; import * as Path from "effect/Path"; import * as Effect from "effect/Effect"; import * as Option from "effect/Option"; import { type AppError } from "../app-error/index.js"; export declare const ARCHIVE_CACHE_MAX_BYTES: number; export declare const ARCHIVE_CACHE_MAX_AGE: Duration.Duration; export interface ArchiveCacheOptions { readonly maxBytes?: number; readonly maxAge?: Duration.Duration; } export interface ArchiveCacheStatus { readonly entries: number; readonly bytes: number; readonly maxBytes: number; readonly maxAgeDays: number; } export interface ArchiveCacheVerifyResult { readonly checked: number; readonly valid: number; readonly corruptRemoved: number; } export interface ArchiveCachePruneResult { readonly removed: number; readonly bytesFreed: number; readonly remaining: number; readonly remainingBytes: number; } export interface ArchiveCache { readonly read: (integrity: string) => Effect.Effect, AppError>; readonly write: (integrity: string, archive: Uint8Array, options?: { readonly prune?: boolean; }) => Effect.Effect; readonly status: () => Effect.Effect; readonly verify: () => Effect.Effect; readonly prune: () => Effect.Effect; } export declare const makeArchiveCache: (fs: FileSystem.FileSystem, path: Path.Path, root: string, options?: ArchiveCacheOptions) => ArchiveCache; export declare const makeUserArchiveCache: () => Effect.Effect; //# sourceMappingURL=archive-cache.d.ts.map