@copytrade/unified-broker
Version:
Unified broker interface library for Indian stock market brokers with plugin architecture
49 lines • 1.78 kB
TypeScript
/**
* Broker Factory Implementation
* Creates broker service instances using dynamic plugin registry
* No hardcoded broker references - fully pluggable architecture
*/
import { IBrokerService, IBrokerFactory } from '../interfaces/IBrokerService';
import { BrokerRegistry } from '../registry/BrokerRegistry';
export declare class BrokerFactory implements IBrokerFactory {
private static instance;
private registry;
private constructor();
static getInstance(): BrokerFactory;
/**
* Create a broker service instance
* @param brokerName - Name of the broker (e.g., 'shoonya', 'fyers')
* @returns IBrokerService instance
* @throws Error if broker is not supported
*/
createBroker(brokerName: string): IBrokerService;
/**
* Get list of all supported brokers
* @returns Array of supported broker names
*/
getSupportedBrokers(): string[];
/**
* Check if a broker is supported
* @param brokerName - Name of the broker to check
* @returns true if broker is supported, false otherwise
*/
isBrokerSupported(brokerName: string): boolean;
/**
* Register a new broker dynamically
* @param brokerName - Name of the broker
* @param brokerCreator - Function that creates the broker service instance
*/
registerBroker(brokerName: string, brokerCreator: () => IBrokerService): void;
/**
* Unregister a broker
* @param brokerName - Name of the broker to unregister
*/
unregisterBroker(brokerName: string): void;
/**
* Get the underlying registry instance
* @returns BrokerRegistry instance
*/
getRegistry(): BrokerRegistry;
}
export declare const brokerFactory: BrokerFactory;
//# sourceMappingURL=BrokerFactory.d.ts.map