/** * Glossary service for parsing and looking up Jamf documentation glossary terms * * Uses Fluid Topics API on learn.jamf.com: * - GET /api/khub/maps/{mapId}/toc — list all glossary terms * - GET /api/khub/maps/{mapId}/topics/{contentId}/content — term HTML * * Jamf's glossary uses DITA glossentry format where each term is a separate topic: *

Definition text

* * Also supports fallback formats: * - Definition list (
/
/
) * - Heading + paragraph (h2/h3 followed by

) * * Uses fuse.js for fuzzy ranking of collected entries. */ import { type ProductId, type LocaleId } from '../constants.js'; import type { GlossaryEntry, GlossaryLookupResult } from '../types.js'; import type { ServerContext } from '../types/context.js'; /** * Parse glossary entries from HTML content. * * Priority order: * 1. DITA glossentry format (h1.glossterm + .glossdef) — Jamf's actual format * 2. Definition list (

/
/
) * 3. Heading + paragraph (h2/h3 followed by

) * 4. Fallback: h1 title + article body content */ export declare function parseGlossaryEntries(html: string, sourceUrl: string, product?: string): GlossaryEntry[]; /** * Search for matching glossary entries using fuse.js fuzzy matching. * Used to rank and filter entries collected from multiple glossary pages. */ export declare function searchGlossaryEntries(entries: GlossaryEntry[], term: string): GlossaryEntry[]; /** * Look up a glossary term across Jamf documentation. * * Strategy: * 1. Fetch glossary TOC from Fluid Topics API (cached) * 2. Fuzzy-match term against TOC titles * 3. Fetch and parse matching glossary topics * 4. Rank results with fuse.js and apply token limit */ export declare function lookupGlossaryTerm(ctx: ServerContext, params: { term: string; product?: ProductId | undefined; language?: LocaleId | undefined; maxTokens?: number | undefined; }): Promise; //# sourceMappingURL=glossary.d.ts.map