import type { CapabilityManifest, DiscoveryQuery, DiscoveryRanker } from "./types.js"; import type { CapabilityPackageExport } from "./package.js"; export declare const CAPABILITY_INDEX_VERSION: "0.1"; export type PublicIndexCapability = { manifest: CapabilityManifest; module: string; integrity?: string; }; export type PublicIndexPackage = { name: string; version: string; source: string; repository?: string; integrity?: string; capabilities: readonly PublicIndexCapability[]; }; export type CapabilityIndexDocument = { indexVersion: typeof CAPABILITY_INDEX_VERSION; generatedAt: string; packages: readonly PublicIndexPackage[]; federates?: readonly string[]; metadata?: Readonly>; }; export type PublicIndexResult = { package: PublicIndexPackage; capability: PublicIndexCapability; score: number; reasons: readonly string[]; }; export declare function validateCapabilityIndex(value: unknown): string[]; export declare function createCapabilityIndex(packages: readonly PublicIndexPackage[], now?: Date, options?: { federates?: readonly string[]; metadata?: Readonly>; }): CapabilityIndexDocument; export declare function mergeCapabilityIndexes(...indexes: readonly CapabilityIndexDocument[]): CapabilityIndexDocument; export declare class PublicCapabilityIndex { private document; constructor(document?: CapabilityIndexDocument); snapshot(): CapabilityIndexDocument; addPackage(pkg: PublicIndexPackage): this; discover(query: DiscoveryQuery | string): PublicIndexResult[]; discoverWith(ranker: DiscoveryRanker, query: DiscoveryQuery | string): Promise; } export declare function packageExportsToIndexCapabilities(exports: Record): PublicIndexCapability[]; export declare function fetchCapabilityIndex(url: string, fetchImpl?: typeof fetch): Promise; //# sourceMappingURL=public-index.d.ts.map