import { NativePath, PortablePath, Path } from '@yarnpkg/fslib'; export declare enum LinkType { HARD = "HARD", SOFT = "SOFT" } export type PhysicalPackageLocator = { name: string; reference: string; }; export type TopLevelPackageLocator = { name: null; reference: null; }; export type PackageLocator = PhysicalPackageLocator | TopLevelPackageLocator; export type DependencyTarget = string | [string, string] | null; export type PackageInformation

= { packageLocation: P; packageDependencies: Map; packagePeers: Set; linkType: LinkType; discardFromLookup: boolean; }; export type PackageInformationData

= { packageLocation: P; packageDependencies: Array<[string, DependencyTarget]>; packagePeers?: Array; linkType: LinkType; discardFromLookup?: boolean; }; export type PackageStore = Map>; export type PackageStoreData = Array<[string | null, PackageInformationData]>; export type PackageRegistry = Map; export type PackageRegistryData = Array<[string | null, PackageStoreData]>; export type LocationLengthData = Array; export type PnpZipBackend = `libzip` | `js`; export type SerializedState = { __info: Array; enableTopLevelFallback: boolean; fallbackExclusionList: Array<[string, Array]>; fallbackPool: Array<[string, DependencyTarget]>; pnpZipBackend: PnpZipBackend; ignorePatternData: string | null; packageRegistryData: PackageRegistryData; dependencyTreeRoots: Array; }; export type RuntimeState = { basePath: PortablePath; enableTopLevelFallback: boolean; fallbackExclusionList: Map>; fallbackPool: Map; pnpZipBackend: PnpZipBackend; ignorePattern: RegExp | null; packageLocatorsByLocations: Map; packageRegistry: PackageRegistry; dependencyTreeRoots: Array; }; export type PnpSettings = { enableTopLevelFallback?: boolean; fallbackExclusionList?: Array; fallbackPool?: Map; ignorePattern?: string | null; packageRegistry: PackageRegistry; shebang?: string | null; dependencyTreeRoots: Array; pnpZipBackend: PnpZipBackend; }; export type ResolveToUnqualifiedOptions = { considerBuiltins?: boolean; }; export type ResolveUnqualifiedOptions = { extensions?: Array; conditions?: Set; }; export type ResolveRequestOptions = ResolveToUnqualifiedOptions & ResolveUnqualifiedOptions; export type PnpApi = { VERSIONS: { std: number; [key: string]: number; }; topLevel: { name: null; reference: null; }; getLocator: (name: string, referencish: string | [string, string]) => PhysicalPackageLocator; getDependencyTreeRoots: () => Array; getPackageInformation: (locator: PackageLocator) => PackageInformation | null; findPackageLocator: (location: NativePath) => PhysicalPackageLocator | null; resolveToUnqualified: (request: string, issuer: NativePath | null, opts?: ResolveToUnqualifiedOptions) => NativePath | null; resolveUnqualified: (unqualified: NativePath, opts?: ResolveUnqualifiedOptions) => NativePath; resolveRequest: (request: string, issuer: NativePath | null, opts?: ResolveRequestOptions) => NativePath | null; resolveVirtual?: (p: NativePath) => NativePath | null; getAllLocators?: () => Array; };