import { Capabilities } from "./capability"; import { CrochetPackage, RestrictedCrochetPackage } from "./pkg"; import { Target } from "./target"; export interface IPackageResolution { get_package(name: string): Promise; } export declare class PackageGraph { readonly target: Target; readonly packages: Map; constructor(target: Target, packages: Map); static resolve(target: Target, resolver: IPackageResolution, pkg: CrochetPackage): Promise; get capability_requirements(): Set; get_package(name: string): RestrictedCrochetPackage; parents(name: string): import("./dependency").Dependency[]; check_capabilities(name: string, capabilities: Capabilities): void; check_target(root: string): void; check(root: string, capabilities: Capabilities): void; serialise(root: string): Generator; }