import { Constructor, SearchTypes } from "@medusajs/framework/types";
import { SearchProviderRegistrationPrefix } from "../types";
type InjectedDependencies = {
    [key: `${typeof SearchProviderRegistrationPrefix}${string}`]: SearchTypes.ISearchProvider;
};
/**
 * Registry over the registered providers. Multiple providers can be used, and
 * each index can select which provider to use for itself.
 */
export declare class SearchProviderService {
    protected readonly providers_: Map<string, SearchTypes.ISearchProvider>;
    constructor(container: InjectedDependencies);
    static getRegistrationIdentifier(providerClass: Constructor<SearchTypes.ISearchProvider>, optionName?: string): string;
    retrieve(identifier: string): SearchTypes.ISearchProvider;
    list(): SearchTypes.ISearchProvider[];
    /**
     * Used by definitions that do not name a provider. Resolves to the sole
     * registered provider, or to the module's `default_provider` option.
     */
    getDefaultIdentifier(configured?: string): string;
}
export {};
//# sourceMappingURL=search-provider.d.ts.map