/** * NormalizerRegistry - Central registry for parameter normalizers * * Manages registration and retrieval of normalizers by name. * Normalizers are registered at startup and looked up during * schema-driven dispatch. * * @see Issue #243 - Unified search with normalizer architecture */ import type { Normalizer } from './types.js'; /** * Registry for managing parameter normalizers. * * Provides a centralized location for registering and retrieving * normalizers used by the schema-driven dispatch system. * * @example * ```typescript * // Register a normalizer * NormalizerRegistry.register(new SearchParamsNormalizer()); * * // Retrieve by name * const normalizer = NormalizerRegistry.get('searchParams'); * ``` */ export declare class NormalizerRegistry { private static readonly normalizers; /** * Register a normalizer. * * @param normalizer - The normalizer to register * @throws Error if a normalizer with the same name is already registered */ static register(normalizer: Normalizer): void; /** * Unregister a normalizer by name. * * @param name - The normalizer name to unregister * @returns true if the normalizer was removed, false if not found */ static unregister(name: string): boolean; /** * Get a normalizer by name. * * @param name - The normalizer name * @returns The normalizer, or undefined if not found */ static get(name: string): Normalizer | undefined; /** * Check if a normalizer is registered. * * @param name - The normalizer name * @returns true if registered */ static has(name: string): boolean; /** * Get all registered normalizer names. * * @returns Array of normalizer names */ static list(): string[]; /** * Clear all registered normalizers. * * Primarily used for testing. */ static clear(): void; /** * Get the count of registered normalizers. * * @returns Number of registered normalizers */ static get size(): number; } //# sourceMappingURL=NormalizerRegistry.d.ts.map