/** * Reranker Registry * * Centralized registry for all reranker implementations with metadata * and discovery capabilities. Follows the BaseRegistry pattern. */ import { BaseRegistry } from "../../core/infrastructure/index.js"; import type { Reranker, RerankerConfig, RerankerMetadata, RerankerType } from "../../types/index.js"; /** * Reranker Registry * * Manages registration and discovery of all reranker implementations. * Extends BaseRegistry for consistent lifecycle management. */ export declare class RerankerRegistry extends BaseRegistry { private static instance; private aliasMap; private constructor(); /** * Get singleton instance */ static getInstance(): RerankerRegistry; /** * Reset singleton (for testing) */ static resetInstance(): void; /** * Register all built-in rerankers */ protected registerAll(): Promise; /** * Create LLM reranker instance wrapper */ private createLLMRerankerInstance; /** * Create cross-encoder instance wrapper */ private createCrossEncoderInstance; /** * Create Cohere instance wrapper */ private createCohereInstance; /** * Create simple reranker instance wrapper */ private createSimpleRerankerInstance; /** * Create batch reranker instance wrapper */ private createBatchRerankerInstance; /** * Register a reranker with aliases */ registerReranker(type: RerankerType, factory: () => Promise, metadata: RerankerMetadata): void; /** * Resolve type from alias */ resolveType(nameOrAlias: string): RerankerType; /** * Get a reranker by type or alias */ getReranker(typeOrAlias: string): Promise; /** * Get list of available reranker types */ getAvailableRerankers(): Promise; /** * Get metadata for a specific reranker */ getRerankerMetadata(typeOrAlias: string): RerankerMetadata | undefined; /** * Get all aliases for a type */ getAliasesForType(type: RerankerType): string[]; /** * Get all registered aliases */ getAllAliases(): Map; /** * Check if a type or alias exists */ hasReranker(typeOrAlias: string): boolean; /** * Get rerankers by use case */ getRerankersByUseCase(useCase: string): RerankerType[]; /** * Get default configuration for a reranker */ getDefaultConfig(typeOrAlias: string): Partial | undefined; /** * Get rerankers that don't require external APIs */ getLocalRerankers(): RerankerType[]; /** * Get rerankers that don't require AI models */ getModelFreeRerankers(): RerankerType[]; /** * Clear the registry (also clears aliases) */ clear(): void; } /** * Global reranker registry singleton */ export declare const rerankerRegistry: RerankerRegistry; /** * Convenience function to get available rerankers */ export declare function getAvailableRerankers(): Promise; /** * Convenience function to get reranker by type */ export declare function getReranker(typeOrAlias: string): Promise; /** * Convenience function to get reranker metadata */ export declare function getRegisteredRerankerMetadata(typeOrAlias: string): RerankerMetadata | undefined;