import { type PackageJson } from './manifest.js'; export interface ResolvedPackage { readonly name: string; readonly root: string; readonly packageJson: PackageJson; readonly source: 'workspace' | 'node_modules' | 'local'; } export interface PackageResolver { root(root: string): Promise; resolve(request: string, from: ResolvedPackage): Promise; /** Load a package from an absolute package root (skips dependency declaration checks). */ loadPackage?(packageRoot: string): Promise; workspacePackages(): readonly ResolvedPackage[]; } export declare class PackageResolutionError extends Error { readonly request?: string | undefined; constructor(message: string, request?: string | undefined); } export declare class NodePackageResolver implements PackageResolver { #private; static create(projectRoot: string): Promise; root(root: string): Promise; loadPackage(packageRoot: string): Promise; workspacePackages(): readonly ResolvedPackage[]; resolve(request: string, from: ResolvedPackage): Promise; }