/** * Per spec §4.1 Step 2 — DocRetriever. * * HARD CONSTRAINTS: * H1 (CLI enforces — not LLM): this module is the only place that decides * which docs to fetch. * H2 (locked version): returns ONLY docs whose version exactly matches * the locked dep version. No fallback to "latest". If no doc exists * at the locked version, record `version_unknown` and move on. * * The fetcher is injected so tests can pin responses deterministically * (cross-version isolation test relies on this). */ import type { DepInfo, DocRetrieverOutput } from './types.js'; export interface DocFetcher { (dep: string, version: string): Promise; } export interface FetcherPayload { readonly version: string; readonly excerpt: string; } export interface RetrieveOptions { readonly fetcher: DocFetcher; readonly now?: () => Date; } export declare function retrieveDocs(deps: Readonly>, options: RetrieveOptions): Promise;