import YahooFinance from 'yahoo-finance2'; import type { YahooChartResponse, YahooQuote, YahooSearchResponse } from './types.js'; type QuoteOptions = Parameters['quote']>[1]; type SearchOptions = Parameters['search']>[1]; type SearchModuleOptions = Parameters['search']>[2]; type ChartOptions = Parameters['chart']>[1]; type ChartModuleOptions = Parameters['chart']>[2]; export interface YahooClient { /** * Fetch stock quote(s) for a given symbol or symbols * @param symbol - Ticker symbol or array of symbols * @param options - Quote options * @returns Promise - Quote data */ quote(symbol: string | string[], options?: QuoteOptions): Promise; /** * Search for stocks/companies * @param query - Search query * @param options - Search options * @param moduleOptions - Search module options * @returns Promise - Search results */ search(query: string, options?: SearchOptions, moduleOptions?: SearchModuleOptions): Promise; /** * Fetch chart data (historical data) * @param symbol - Ticker symbol * @param options - Chart options (period1, period2, interval, etc.) * @param moduleOptions - Chart module options * @returns Promise - Chart data */ chart(symbol: string, options: ChartOptions, moduleOptions?: ChartModuleOptions): Promise; } export declare class YahooFinanceClient implements YahooClient { private readonly client; private static queue; /** * Create a new YahooFinanceClient * @param client - Optional YahooFinance instance */ constructor(client?: InstanceType); /** * Enqueues a task to be executed sequentially. * Ensures only one Yahoo Finance call is active at a time across all instances. */ private enqueue; /** * Fetch stock quote(s) for a given symbol or symbols * @param symbol - Ticker symbol or array of symbols * @param options - Quote options * @returns Promise - Quote data */ quote(symbol: string | string[], options?: QuoteOptions): Promise; /** * Search for stocks/companies * @param query - Search query * @param options - Search options * @param moduleOptions - Search module options * @returns Promise - Search results */ search(query: string, options?: SearchOptions, moduleOptions?: SearchModuleOptions): Promise; /** * Fetch chart data (historical data) * @param symbol - Ticker symbol * @param options - Chart options * @param moduleOptions - Chart module options * @returns Promise - Chart data */ chart(symbol: string, options: ChartOptions, moduleOptions?: ChartModuleOptions): Promise; } export {}; //# sourceMappingURL=yahooFinanceClient.d.ts.map