/**
 * MemoryProviderRegistry — Singleton registry for MemoryProvider instances.
 *
 * Auto-registers LocalMemoryProvider as the default provider on first access.
 * External providers (Supermemory, Zep, Graphiti) can be registered at runtime.
 *
 * Usage:
 *   const registry = MemoryProviderRegistry.getInstance();
 *   const local = registry.getDefault();
 *   await local.connect({ userId: "user-123" });
 *   const id = await local.store({ content: "Meeting notes..." });
 */
import type { MemoryProvider } from "./memoryProvider.js";
export declare class MemoryProviderRegistry {
    private static instance;
    private providers;
    private defaultName;
    private constructor();
    static getInstance(): MemoryProviderRegistry;
    /** Reset the singleton (for tests only) */
    static resetInstance(): void;
    /**
     * Register a provider. Overwrites if a provider with the same name
     * already exists. Returns the registry for chaining.
     */
    register(provider: MemoryProvider): MemoryProviderRegistry;
    /**
     * Unregister a provider by name. Cannot unregister the default provider
     * unless another default is set first.
     */
    unregister(name: string): boolean;
    /**
     * Set which registered provider is the default.
     */
    setDefault(name: string): void;
    /**
     * Get a provider by name. Returns undefined if not found.
     */
    get(name: string): MemoryProvider | undefined;
    /**
     * Get the default provider (LocalMemoryProvider unless changed).
     */
    getDefault(): MemoryProvider;
    /**
     * List all registered providers with their connection status.
     */
    listProviders(): Array<{
        name: string;
        type: string;
        isDefault: boolean;
        isConnected: boolean;
    }>;
    /**
     * Get the count of registered providers.
     */
    get size(): number;
    /**
     * Check if a provider is registered.
     */
    has(name: string): boolean;
}
