import type { HushBundleName, HushFileEntry, HushFilePath, HushIdentityName, HushLogicalPath, HushProvenanceRecord, HushResolvedValue, HushTargetName } from './domain.js'; export interface HushInterpolationDependency { path: HushLogicalPath; filePath?: HushFilePath; readable: boolean; } export interface HushResolvedNode extends HushResolvedValue { resolvedFrom: HushFilePath[]; interpolation: { dependencies: HushInterpolationDependency[]; } | null; } export interface HushBundleConflictDetail { path: HushLogicalPath; precedence: number; contenders: HushProvenanceRecord[]; } export interface HushBundleResolution { identity: HushIdentityName; bundle: HushBundleName; target?: HushTargetName; values: Record; artifacts: Record; files: HushFilePath[]; unreadableFiles: HushFilePath[]; conflicts: HushBundleConflictDetail[]; } export interface HushTargetResolution extends HushBundleResolution { target: HushTargetName; } export interface HushSelectedEntryCandidate { path: HushLogicalPath; entry: HushFileEntry; precedence: number; provenance: HushProvenanceRecord[]; } export declare function dedupeProvenance(records: readonly HushProvenanceRecord[]): HushProvenanceRecord[]; export declare function withResolvedEntry(candidate: HushSelectedEntryCandidate, entry: HushFileEntry, interpolation: HushResolvedNode['interpolation']): HushResolvedNode; //# sourceMappingURL=provenance.d.ts.map