import type { Catalog } from "./model.js"; import type { KnownAssetClassificationEvidence } from "./types/known-classification.js"; import type { Diagnostic } from "./types/diagnostics.js"; import type { ParsedDocument } from "./types/metadata.js"; import { type RequiredMetadataPolicyOptions } from "./metadata-policy.js"; export interface SkillParentCandidate { owner: string | null; id: string; sourcePath: string; } export type SkillParentIndex = ReadonlyMap; export type SkillParentResolution = { state: "not-applicable"; } | { state: "missing"; candidatePath: string; } | { state: "ambiguous"; candidatePath: string; candidates: readonly SkillParentCandidate[]; } | { state: "resolved"; candidatePath: string; parent: SkillParentCandidate; }; /** Index possible owning Skills once for both catalog and command resolution. */ export declare function buildSkillParentIndex(documents: ParsedDocument[]): SkillParentIndex; /** Resolve a Skill-local parent using the same fail-closed index as ownership. */ export declare function resolveSkillSupportParent(relativePath: string, skillParents: SkillParentIndex): SkillParentResolution; /** Attach resolved parent evidence without changing structural classification. */ export declare function withResolvedSkillParent(classification: KnownAssetClassificationEvidence, relativePath: string, skillParents: SkillParentIndex): KnownAssetClassificationEvidence; export declare function buildCatalog(documents: ParsedDocument[], repositoryPaths?: ReadonlySet, skillParents?: SkillParentIndex, metadataPolicy?: RequiredMetadataPolicyOptions, incompleteSupportDirectories?: ReadonlySet): { catalog: Catalog; diagnostics: Diagnostic[]; };