import type { AuthStorage } from "@pk-nerdsaver-ai/pi-ai";
import type { SearchProvider } from "./providers/base";
import { type SearchProviderId } from "./types";
export type { SearchParams } from "./providers/base";
export { SearchProvider } from "./providers/base";
export { SEARCH_PROVIDER_ORDER } from "./types";
/** Cheap, sync metadata accessor — never triggers a provider load. */
export declare function getSearchProviderLabel(id: SearchProviderId): string;
/**
 * Resolve and cache a provider instance. First call for a given id loads the
 * underlying module; subsequent calls return the cached singleton.
 */
export declare function getSearchProvider(id: SearchProviderId): Promise<SearchProvider>;
/** Set the preferred web search provider from settings */
export declare function setPreferredSearchProvider(provider: SearchProviderId | "auto"): void;
/** Set providers that web search should never use, including fallbacks. */
export declare function setExcludedSearchProviders(providers: readonly SearchProviderId[]): void;
/**
 * Determine which providers are configured and currently available.
 * Each candidate is loaded (and its `isAvailable()` called) only as the chain
 * is walked, so unconfigured providers never pay the load cost.
 */
export declare function resolveProviderChain(authStorage: AuthStorage, preferredProvider?: SearchProviderId | "auto"): Promise<SearchProvider[]>;
