/**
 * Dynamic adapter loading utilities.
 *
 * Replaces the former static ADAPTER_REGISTRY with discovery-based loading.
 * Adapters are found via discoverAdapterManifests() and loaded dynamically
 * using each manifest's packagePath and entryPoint.
 *
 * Zero hardcoded adapter package names — everything derives from manifests.
 *
 * @task T5698
 */
import type { AdapterManifest, CLEOProviderAdapter } from '@cleocode/contracts';
/**
 * Validate that a loaded module export implements the CLEOProviderAdapter interface.
 * Checks for required methods and properties without relying on instanceof.
 */
export declare function isValidAdapter(adapter: unknown): adapter is CLEOProviderAdapter;
/**
 * Dynamically load and instantiate an adapter from its manifest.
 *
 * Uses the manifest's packagePath to resolve the adapter module,
 * then looks for a `createAdapter()` factory or a default export class.
 *
 * @param manifest - The adapter manifest with a resolved packagePath
 * @returns A CLEOProviderAdapter instance
 * @throws If the module cannot be loaded or does not export a valid adapter
 */
export declare function loadAdapterFromManifest(manifest: AdapterManifest): Promise<CLEOProviderAdapter>;
//# sourceMappingURL=adapter-registry.d.ts.map