import type { ProviderRegistryOptions } from "../types/index.js";
/**
 * Provider Registry - registers all providers with the factory
 * This is where we migrate providers one by one to the new pattern
 */
export declare class ProviderRegistry {
    private static registered;
    private static registrationPromise;
    private static options;
    /**
     * NEW4: per-handler registration outcomes for the realtime voice
     * providers. `"ok"` = registered; any other string = the error message.
     * Empty until the first `registerAllProviders()` call.
     */
    static realtimeRegistration: Record<string, "ok" | string>;
    /**
     * Returns a snapshot of voice provider registration outcomes so callers
     * can detect at runtime which voice handlers are usable. Useful in
     * health-check endpoints and CI startup probes.
     */
    static getRegistrationReport(): {
        realtime: Record<string, "ok" | string>;
    };
    /**
     * Register all providers with the factory
     */
    static registerAllProviders(): Promise<void>;
    /**
     * Internal registration implementation
     *
     * This method is a flat list of 13 provider registrations. Each registration
     * is self-contained and extracting helpers would add indirection without
     * reducing complexity — the function is long because there are many providers,
     * not because any single registration is complex.
     */
    private static _doRegister;
    /**
     * Check if providers are registered
     */
    static isRegistered(): boolean;
    /**
     * Clear registrations (for testing)
     */
    static clearRegistrations(): void;
    /**
     * Set registry options (should be called before initialization)
     */
    static setOptions(options: ProviderRegistryOptions): void;
    /**
     * Get current registry options
     */
    static getOptions(): ProviderRegistryOptions;
}
