import type { AstFile, PackageRef as AstPackageRef } from '../parser/ast.js'; import type { BindResult } from '../binder/binder.js'; import { DiagnosticBag } from '../diagnostics/diagnostic.js'; /** A resolved constitution package */ export interface ResolvedPackage { readonly name: string; readonly version: string; readonly source: 'local' | 'git' | 'registry'; /** Resolved policies from this package */ readonly policies: readonly ResolvedPolicy[]; } /** A policy resolved from a constitution package */ export interface ResolvedPolicy { readonly name: string; readonly properties: ReadonlyMap; } /** A package reference found in a constitution declaration */ export interface ConstitutionPackageRef { readonly path: string; readonly version: string; readonly module: string; readonly constitutionName: string; } export interface ConstitutionResolutionResult { readonly bag: DiagnosticBag; readonly packages: readonly ResolvedPackage[]; readonly refs: readonly ConstitutionPackageRef[]; } /** * Extract constitution package references from the AST and attempt * resolution. In v0.1, only local vendored packages are supported — remote * packages emit an informational diagnostic. */ export declare function resolveConstitutions(files: readonly AstFile[], _bindResult: BindResult): ConstitutionResolutionResult; /** * Parse a raw package reference string. Exported for testing. */ export declare function parsePackageRef(raw: string): AstPackageRef | null; //# sourceMappingURL=resolution.d.ts.map