/** * Base data source implementation */ import type { StockInfo, MarketOverview, HistoricalData, SectorPerformance, SearchResult, DataSourcePriority, DataSourceStats } from '../types'; export declare abstract class DataSource { protected name: string; protected priority: DataSourcePriority; protected timeout: number; protected stats: DataSourceStats; constructor(name: string, priority: DataSourcePriority, timeout?: number); abstract getStockInfo(ticker: string): Promise; abstract getMarketOverview(): Promise; abstract getHistoricalData(ticker: string, period: string): Promise; abstract getSectorPerformance(): Promise; abstract searchStocks(query: string): Promise; protected makeRequest(requestName: string, requestFn: () => Promise): Promise; private createTimeoutPromise; private updateStats; getStats(): DataSourceStats; getName(): string; getPriority(): DataSourcePriority; isHealthy(): boolean; } export declare class DataSourceManager { private sources; addSource(source: DataSource): void; getStockInfo(ticker: string): Promise; getMarketOverview(): Promise; getHistoricalData(ticker: string, period: string): Promise; getSectorPerformance(): Promise; searchStocks(query: string): Promise; private tryDataSources; getStats(): Record; getHealthySources(): DataSource[]; } //# sourceMappingURL=base.d.ts.map