import { ISearchAdapter } from './ISearchAdapter.js';
/**
 * Factory for creating and managing search adapter instances.
 * Provides centralized registration and creation of search adapters.
 */
export declare class SearchAdapterFactory {
    private static readonly adapters;
    private static readonly logger;
    /**
     * Register a new adapter implementation
     * @param name Name/identifier for the adapter
     * @param adapterClass Class constructor for the adapter
     */
    static registerAdapter(name: string, adapterClass: new () => ISearchAdapter): void;
    /**
     * Create an instance of a specific adapter
     * @param name Name of the adapter to create
     * @returns New instance of the specified adapter
     * @throws Error if adapter is not found
     */
    static createAdapter(name: string): ISearchAdapter;
    /**
     * List all available adapters
     * @returns Array of registered adapter names
     */
    static getAvailableAdapters(): string[];
    /**
     * Check if an adapter is registered
     * @param name Name of the adapter to check
     * @returns True if the adapter is registered
     */
    static hasAdapter(name: string): boolean;
    /**
     * Unregister an adapter
     * @param name Name of the adapter to unregister
     * @returns True if the adapter was found and removed
     */
    static unregisterAdapter(name: string): boolean;
    /**
     * Clear all registered adapters
     */
    static clearAdapters(): void;
}
//# sourceMappingURL=SearchAdapterFactory.d.ts.map