import { LockfileParser, PkgTree, ManifestFile, Lockfile, LockfileType } from './';
export interface YarnLock {
    type: string;
    object: {
        [depName: string]: YarnLockDep;
    };
    dependencies?: {
        [depName: string]: YarnLockDep;
    };
    lockfileType: LockfileType.yarn;
}
export interface YarnLockDep {
    version: string;
    dependencies?: {
        [depName: string]: string;
    };
    optionalDependencies?: {
        [depName: string]: string;
    };
}
export declare class YarnLockParser implements LockfileParser {
    private yarnLockfileParser;
    private treeSize;
    constructor();
    parseLockFile(lockFileContents: string): YarnLock;
    getDependencyTree(manifestFile: ManifestFile, lockfile: Lockfile, includeDev?: boolean, strict?: boolean): Promise<PkgTree>;
    private buildSubTree;
    private resolveDep;
}
