import type { AssetKind, CompatibilityMode, DemandProfile, SourceDefinition } from "../../types.js"; /** * Describes harvested reference item data exchanged by the lifecycle pipeline. */ export interface HarvestedReferenceItem { displayName: string; originUrl: string; summary: string; capabilities: string[]; assetKind: AssetKind; compatibilityMode: CompatibilityMode; installMethod: string; manifestEntry?: string; installs?: number; lastUpdated?: string; version?: string; /** * The actual publisher of this item, when available from the harvest source. * Overrides the source-level `publisher.name` when building catalog entries. * For VS Code Marketplace extensions this is the extension publisher (e.g. * `"eamodio"` for GitLens) rather than the marketplace owner (`"Microsoft"`). */ publisherName?: string; /** * Whether the harvested item publisher is explicitly verified by the item * registry. This is intentionally separate from source-level publisher * verification because a registry owner does not verify every item. */ publisherVerified?: boolean; /** * Additional trust signals for this item (e.g. `"oms-signed"`, * `"oms-trust-anchor"`) harvested from the source payload. These are merged * with the base trust signals derived from the source's authority tier and * kind when building the catalog entry. */ trustSignals?: string[]; } /** * Provides harvest reference items for the lifecycle pipeline. */ export declare function harvestReferenceItems(source: SourceDefinition, demandProfile: DemandProfile | null): Promise; /** * Fetches one page of VS Code Marketplace results for a demand query. */ export declare function fetchVsCodeMarketplaceItemsForQuery(source: SourceDefinition, query: string, options: { pageNumber: number; pageSize: number; /** Sort field. 0 = relevance, 4 = InstallCount, 12 = WeeklyDownloads. */ sortBy?: number; /** Sort direction. 0 = default, 1 = ascending, 2 = descending. */ sortOrder?: number; /** * Optional category filter (filterType 5). When provided the `query` * parameter is ignored and results are scoped to the named category. */ category?: string; }): Promise; /** * Derives normalized discovery queries from the current demand profile. */ export declare function selectDemandQueries(demandProfile: DemandProfile | null): string[];