/**
 * Factory for supported packagers.
 *
 * All packagers must implement the following interface:
 *
 * interface Packager {
 *
 * static get lockfileName(): string;
 * static get copyPackageSectionNames(): Array<string>;
 * static get mustCopyModules(): boolean;
 * static getProdDependencies(cwd: string, depth: number = 1): Object;
 * static rebaseLockfile(pathToPackageRoot: string, lockfile: Object): void;
 * static install(cwd: string): void;
 * static prune(cwd: string): void;
 * static runScripts(cwd: string, scriptNames): void;
 *
 * }
 */
import { Packager } from './packager';
import { NPM } from './npm';
import { Yarn } from './yarn';
declare const registeredPackagers: {
    npm: NPM;
    yarn: Yarn;
};
/**
 * Factory method.
 * @param {string} packagerId - Well known packager id.
 */
export declare function get(cwd: string, packagerId?: keyof typeof registeredPackagers): Packager;
export {};
