import { GetItemArgs, IndexItem, ListItemsArgs, SearchDocsArgs, SectionRecord } from './types'; /** Fetches and caches the static MCP data published alongside the docs site */ export declare class MantineMcpDataClient { private readonly baseUrl; private readonly timeoutMs; private indexCache; private indexEtag; private indexCheckedAt; private sectionsCache; private docCache; private scorer; constructor(baseUrl?: string, timeoutMs?: number); private fetchJson; /** * Re-fetches the index if the published copy changed since it was cached. * * Best-effort: a revalidation failure (network blip, non-ok response) is logged and * swallowed so the still-good cached index keeps serving the in-flight request instead of * failing it outright. */ private revalidateIndex; getIndex(): Promise; getSections(): Promise; private getScorer; private getDocData; listItems(args?: ListItemsArgs): Promise; findItem(args: GetItemArgs): Promise; /** Names close to a failed lookup, for a helpful error message */ suggestFor(name: string): Promise; search(args: SearchDocsArgs): Promise<{ id: string; name: string; kind: import("./types").DocKind; package: string | undefined; route: string; docsUrl: string; description: string; section: string | undefined; heading: string | undefined; snippet: string | undefined; score: number; }[]>; getDoc(args: GetItemArgs): Promise<{ item: IndexItem; mode: "full"; markdown: string; availableSections?: undefined; heading?: undefined; intro?: undefined; sections?: undefined; source?: undefined; docs?: undefined; } | { item: IndexItem; mode: "section-not-found"; availableSections: string[]; markdown?: undefined; heading?: undefined; intro?: undefined; sections?: undefined; source?: undefined; docs?: undefined; } | { item: IndexItem; mode: "section"; heading: string; markdown: string; availableSections?: undefined; intro?: undefined; sections?: undefined; source?: undefined; docs?: undefined; } | { item: IndexItem; mode: "outline"; intro: string; sections: { slug: string; heading: string; }[]; source: string | undefined; docs: string | undefined; markdown?: undefined; availableSections?: undefined; heading?: undefined; } | null>; /** The section that most plausibly documents a page's API, when no structured props or signature exist */ private findApiSection; getProps(args: GetItemArgs): Promise<{ item: IndexItem; kind: "props"; props: import("./types").PropData[]; signature?: undefined; exportedTypeNames?: undefined; message?: undefined; suggestedSection?: undefined; availableSections?: undefined; } | { item: IndexItem; kind: "signature"; signature: string; exportedTypeNames: string[] | null; props?: undefined; message?: undefined; suggestedSection?: undefined; availableSections?: undefined; } | { item: IndexItem; kind: "sections"; message: string; suggestedSection: string | undefined; availableSections: string[]; props?: undefined; signature?: undefined; exportedTypeNames?: undefined; } | null>; getApi(symbol: string): Promise<{ item: IndexItem; signature: string | null; exportedTypeNames: string[] | null; propsCount: number; suggestedSection: string | undefined; availableSections: string[]; } | { item: IndexItem; signature: string | null; exportedTypeNames: string[] | null; propsCount: number; suggestedSection?: undefined; availableSections?: undefined; } | null>; }