import type { Descriptor } from "@yarnpkg/core";
import type { Options } from "./sharedTypes";
import type { YarnEntries, YarnEntry } from "./yarnlock";
export type Version = {
    pkg: YarnEntry;
    satisfies: Set<Package>;
};
export type Versions = Map<string, Version>;
export type Package = {
    installedVersion: string;
    packageKey: string;
    packageName: string;
    pkg: YarnEntry;
    ignored?: string;
    descriptorString: string;
    descriptor: Descriptor;
    actualDescriptor: Descriptor;
    satisfiedBy: Set<string>;
    candidateVersions?: string[];
    requestedProtocol: string | null;
    requestedVersion: string;
    bestVersion?: string;
    versions: Versions;
};
export type Packages = Record<string, Package[]>;
export declare const extractPackages: (yarnEntries: YarnEntries, { includeScopes, includePackages, excludePackages, excludeScopes, }?: Options) => Packages;
//# sourceMappingURL=extractPackages.d.ts.map