import type { DemandProfile, SourceDefinition } from "../../types.js"; import type { HarvestedReferenceItem } from "./reference-harvesters.js"; /** * Harvests a bounded Open VSX search page into VS Code-compatible extension * candidates. This is a registry API, not a documentation scrape. */ export declare function harvestOpenVsxExtensions(source: SourceDefinition, demandProfile: DemandProfile | null): Promise; declare function resolveOpenVsxEndpoint(source: SourceDefinition): string; declare function buildOpenVsxQuery(demandProfile: DemandProfile | null): string; declare function readExtensionRecords(value: unknown): Record[]; declare function isRecord(value: unknown): value is Record; declare function readString(value: unknown): string | undefined; declare function readFiniteNumber(value: unknown): number | undefined; declare function readPublisherVerification(record: Record): boolean; declare function tokenize(value: string): string[]; declare function uniqueStrings(values: string[]): string[]; /** Exposes Open VSX parsing helpers for focused tests. */ export declare const openVsxHarvesterInternals: { readonly buildOpenVsxQuery: typeof buildOpenVsxQuery; readonly isRecord: typeof isRecord; readonly readExtensionRecords: typeof readExtensionRecords; readonly readFiniteNumber: typeof readFiniteNumber; readonly readPublisherVerification: typeof readPublisherVerification; readonly readString: typeof readString; readonly resolveOpenVsxEndpoint: typeof resolveOpenVsxEndpoint; readonly tokenize: typeof tokenize; readonly uniqueStrings: typeof uniqueStrings; }; export {};