/**
 * Agent Provider Registry
 *
 * Manages registration and lookup of agent providers.
 * The Claude provider is always registered as the default.
 *
 * @module
 */
import type { AgentProvider } from './types.js';
/**
 * Registry for agent providers.
 * Claude is registered automatically as the default provider.
 */
export declare class AgentProviderRegistry {
    private readonly providers;
    private defaultProviderName;
    constructor();
    /** Register a provider. Overwrites if name already exists. */
    register(provider: AgentProvider): void;
    /** Get a provider by name. Returns undefined if not found. */
    get(name: string): AgentProvider | undefined;
    /** Get the default provider. */
    getDefault(): AgentProvider;
    /** Set the default provider name. */
    setDefault(name: string): void;
    /** List all registered provider names. */
    list(): string[];
    /**
     * Get a provider, throwing a user-friendly error if not found or unavailable.
     * For non-default providers, includes installation instructions.
     */
    getOrThrow(name: string): Promise<AgentProvider>;
}
/**
 * Gets the global provider registry (lazily created).
 */
export declare function getProviderRegistry(): AgentProviderRegistry;
//# sourceMappingURL=registry.d.ts.map