import { MemoryVolume } from "../memory-volume"; import { RegistryConfig } from "./registry-client"; import { ResolvedDependency } from "./version-resolver"; import type { IDBSnapshotCache } from "../persistence/idb-cache"; import type { PrebundleStore } from "./prebundle/store"; export interface InstallFlags { registry?: string; persist?: boolean; persistDev?: boolean; withDevDeps?: boolean; withOptionalDeps?: boolean; onProgress?: (message: string) => void; transformModules?: boolean; } export interface InstallOutcome { resolved: Map; newPackages: string[]; } declare function splitSpecifier(spec: string): { name: string; version?: string; }; export declare class DependencyInstaller { private vol; private registryClient; private workingDir; private _snapshotCache; private _prebundleStore; constructor(vol: MemoryVolume, opts?: { cwd?: string; snapshotCache?: IDBSnapshotCache | null; prebundleStore?: PrebundleStore | null; } & RegistryConfig); /** Set or replace the prebundle store after construction. */ setPrebundleStore(store: PrebundleStore | null): void; install(packageName: string, version?: string, flags?: InstallFlags): Promise; installFromManifest(manifestPath?: string, flags?: InstallFlags): Promise; listInstalled(): Record; private materializePackages; private createBinStubs; private writeLockFile; private patchManifest; } export declare function install(specifier: string, vol: MemoryVolume, flags?: InstallFlags): Promise; export { RegistryClient } from "./registry-client"; export type { RegistryConfig, VersionDetail, PackageMetadata, } from "./registry-client"; export type { ResolvedDependency, ResolutionConfig } from "./version-resolver"; export type { ExtractionOptions } from "./archive-extractor"; export { splitSpecifier };