/**
 * Unified Broker Factory
 * Creates instances of the new unified broker services
 * Eliminates the need for broker-specific logic in the unified manager
 */
import { IUnifiedBrokerService, IBrokerModuleFactory } from '../interfaces/UnifiedBrokerResponse';
export declare class UnifiedBrokerFactory implements IBrokerModuleFactory {
    private static instance;
    private supportedBrokers;
    private constructor();
    static getInstance(): UnifiedBrokerFactory;
    /**
     * Register default broker implementations
     */
    private registerDefaultBrokers;
    /**
     * Create a unified broker service instance
     */
    createBroker(brokerName: string): IUnifiedBrokerService;
    /**
     * Get list of supported brokers
     */
    getSupportedBrokers(): string[];
    /**
     * Check if a broker is supported
     */
    isBrokerSupported(brokerName: string): boolean;
    /**
     * Register a custom broker implementation
     */
    registerBroker(brokerName: string, brokerFactory: () => IUnifiedBrokerService): void;
    /**
     * Unregister a broker
     */
    unregisterBroker(brokerName: string): boolean;
    /**
     * Get factory information
     */
    getFactoryInfo(): {
        totalBrokers: number;
        supportedBrokers: string[];
        factoryType: string;
    };
}
/**
 * Convenience function to create a unified broker instance
 */
export declare function createUnifiedBroker(brokerName: string): IUnifiedBrokerService;
/**
 * Convenience function to get supported brokers
 */
export declare function getSupportedUnifiedBrokers(): string[];
//# sourceMappingURL=UnifiedBrokerFactory.d.ts.map