import { Resolution } from '../resolve';
export declare const SHRINKWRAP_FILENAME = "shrinkwrap.yaml";
export declare const PRIVATE_SHRINKWRAP_FILENAME: string;
export declare type Shrinkwrap = {
    version: number;
    dependencies: ResolvedDependencies;
    packages: ResolvedPackages;
    registry: string;
};
export declare type ResolvedPackages = {
    [pkgId: string]: DependencyShrinkwrap;
};
export declare type DependencyShrinkwrap = string | {
    resolution: string | Resolution;
    dependencies?: ResolvedDependencies;
};
/*** @example
 * {
 *   "foo": "registry.npmjs.org/foo/1.0.1"
 * }
 */
export declare type ResolvedDependencies = {
    [pkgName: string]: string;
};
export declare function readPrivate(pkgPath: string, opts: {
    force: boolean;
    registry: string;
}): Promise<Shrinkwrap>;
export declare function read(pkgPath: string, opts: {
    force: boolean;
    registry: string;
}): Promise<Shrinkwrap>;
export declare function save(pkgPath: string, shrinkwrap: Shrinkwrap): Promise<[any, any]>;
export declare function prune(shr: Shrinkwrap): Shrinkwrap;
export declare function shortIdToFullId(shortId: string, registry: string): string;
export declare function getPkgShortId(reference: string, pkgName: string): string;
export declare function getPkgId(reference: string, pkgName: string, registry: string): string;
export declare function pkgIdToRef(pkgId: string, pkgVersion: string, resolution: Resolution, standardRegistry: string): string;
export declare function pkgShortId(pkgId: string, standardRegistry: string): string;
