import { JSONBuilder } from '@cnpmjs/packument';
import type { Dist } from '../core/entity/Dist.ts';
import type { PackageJSONType } from './PackageRepository.ts';
export declare class DistRepository {
    private readonly packageRepository;
    private readonly nfsAdapter;
    findPackageVersionManifest(packageId: string, version: string): Promise<PackageJSONType | undefined>;
    findPackageVersionManifestJSONBuilder(packageId: string, version: string, includeReadme?: boolean): Promise<JSONBuilder | undefined>;
    findPackageAbbreviatedManifest(packageId: string, version: string): Promise<PackageJSONType | undefined>;
    findPackageAbbreviatedManifestJSONBuilder(packageId: string, version: string): Promise<JSONBuilder | undefined>;
    readDistBytesToJSON<T>(dist: Dist): Promise<T | undefined>;
    readDistBytesToString(dist: Dist): Promise<string>;
    readDistBytes(dist: Dist): Promise<Uint8Array | undefined>;
    readDistBytesToBuffer(dist: Dist): Promise<Buffer | undefined>;
    readDistBytesToJSONBuilder(dist: Dist): Promise<JSONBuilder | undefined>;
    getDistStream(dist: Dist): Promise<import("stream").Readable | undefined>;
    saveDist(dist: Dist, buf: Uint8Array | string): Promise<void>;
    destroyDist(dist: Dist): Promise<void>;
    downloadDist(dist: Dist): Promise<string | import("stream").Readable | undefined>;
    downloadDistToFile(dist: Dist, file: string): Promise<void>;
}
