import { VirtualFS } from '../virtual-fs';
import type { InstallOptions, InstallResult, PackageManagerOptions } from './types';
/**
 * npm Package Manager for VirtualFS
 */
export declare class PackageManager {
    private vfs;
    private cwd;
    private registryOptions;
    private installMode;
    private onMutation;
    private workerClientFactory;
    private workerClient;
    constructor(vfs: VirtualFS, options?: PackageManagerOptions);
    /**
     * Install a package and its dependencies
     */
    install(packageSpec: string, options?: InstallOptions): Promise<InstallResult>;
    /**
     * Install all dependencies from package.json
     */
    installFromPackageJson(options?: InstallOptions): Promise<InstallResult>;
    /**
     * List installed packages
     */
    list(): Record<string, string>;
    private executeInstallRequest;
    private installInMainThread;
    private shouldUseWorker;
    private installInWorker;
    private getSettings;
    dispose(): void;
    private notifyMutation;
}
export declare function install(packageSpec: string, vfs: VirtualFS, options?: InstallOptions): Promise<InstallResult>;
export { Registry } from './registry';
export type { RegistryOptions, PackageVersion, PackageManifest } from './registry';
export type { ResolvedPackage, ResolveOptions } from './resolver';
export type { ExtractOptions } from './tarball';
export type { InstallMode, InstallOptions, InstallResult, PackageManagerMutationSummary, PackageManagerOptions, } from './types';
export { normalizeBin, parsePackageSpec, serializeInstallResult, deserializeInstallResult } from './core';
//# sourceMappingURL=index.d.ts.map