import { VersionedPackage } from "./VersionedPackage";
type PackageName = string;
/**
 * Represents an installed package that can have multiple versions.
 *
 * When the package is required, you can wrap methods from the exports objects.
 *
 * Not to be used for built-in node modules.
 */
export declare class Package {
    private packageName;
    private versions;
    constructor(packageName: PackageName);
    private assertValidPackageName;
    getName(): string;
    setName(name: string): void;
    withVersion(range: string): VersionedPackage;
    getVersions(): VersionedPackage[];
}
export {};
