import type { ResourceDiagnostic } from "./diagnostics.ts"; import type { ResourceLoader } from "./resource-loader-types.ts"; import type { Skill } from "./skills.ts"; export interface SkillCandidate { readonly id: string; readonly skill: Skill; readonly selector: string; } export interface SkillCatalogCommand { readonly name: string; readonly description: string; readonly sourceInfo: Skill["sourceInfo"]; readonly candidateId: string; readonly skill: Skill; } export type SkillResolution = { readonly ok: true; readonly candidate: SkillCandidate; } | { readonly ok: false; readonly kind: "unknown" | "ambiguous"; readonly selector: string; readonly message: string; readonly candidates: readonly SkillCandidate[]; }; export interface SkillCatalog { readonly candidates: readonly SkillCandidate[]; readonly commands: readonly SkillCatalogCommand[]; resolve(selector: string): SkillResolution; modelSkills(): Skill[]; } export declare function buildSkillCatalog(allSkills: readonly Skill[], winners?: readonly Skill[]): SkillCatalog; export declare function getSkillCatalog(loader: ResourceLoader): SkillCatalog; export declare function decorateSkillDiagnostics(diagnostics: readonly ResourceDiagnostic[], catalog: SkillCatalog): ResourceDiagnostic[]; //# sourceMappingURL=skill-catalog.d.ts.map