import { AxiosInstance } from "axios"; import { MarketDataItem, Quote, RecommendationTrends, Resolution, TickData } from "../interface"; import { BasicFinancials, BasicFinancialsRequest, CompanyNews, CompanyNewsRequest, CompanyProfile2, CompanyProfile2Request, InsiderTransaction, InsiderTransactionRequest, MarketNews, MarketNewsRequest, NewsSentiment, SymbolLookup } from "./fundamentals/interface"; /** * FinnhubAPI * @StockCandles Get candlestick data for stocks. * https://finnhub.io/docs/api#stock-candles * * @TickData Get historical tick data for US stocks from all 13 exchanges * https://finnhub.io/docs/api#stock-tick * * @Quote Get stocks quote price * https://finnhub.io/docs/api#quote * * @CompanyProfile2 Get symbol Company info * https://finnhub.io/docs/api/company-profile2 * * @RecommendationTrends Get Recommendation Trends * https://finnhub.io/docs/api/recommendation-trends * @Peers Get peers for company * https://finnhub.io/docs/api/company-peers */ export declare class FinnhubAPI { token: string; api: AxiosInstance; private fundamentalsApi; constructor(token?: string); /** * Get candlestick data for stocks. * @param symbol * @param start * @param end * @param resolution * https://finnhub.io/docs/api#stock-candles */ getCandles(symbol: string, start: Date, end: Date, resolution: Resolution): Promise; /** * TickData Get historical tick data for US stocks from all 13 exchanges * https://finnhub.io/docs/api#stock-tick * @param symbol * @param date */ getTick(symbol: string, date: Date): Promise; /** * GetQuote * Get real-time quote data for US stocks. Constant polling is not recommended. Use websocket if you need real-time update. * @param symbol */ getQuote(symbol: string): Promise; /** * Symbol Lookup * Search for best-matching symbols based on your query. You can input anything from symbol, security's name to ISIN and Cusip. * @param query Query text can be symbol, name, isin, or cusip * @returns {SymbolLookup | null} */ symbolLookup(query?: string): Promise; /** * companyProfile2 * Get general information of a company * https://finnhub.io/docs/api/company-profile2 * @param args @type {CompanyProfile2Request} * @return {CompanyProfile2 | null} */ companyProfile2(args: CompanyProfile2Request): Promise; /** * Market News - https://finnhub.io/docs/api/market-news * Get latest market news. * @param args @type {MarketNewsRequest} * @returns {MarketNews | null} */ marketNews(args: MarketNewsRequest): Promise; /** * Company News - https://finnhub.io/docs/api/company-news * List latest company news by symbol. This endpoint is only available for North American companies. * @param args @type {CompanyNewsRequest} * @returns {CompanyNews | null} */ companyNews(args: CompanyNewsRequest): Promise; /** * News Sentiment - https://finnhub.io/docs/api/news-sentiment * Get company's news sentiment and statistics. This endpoint is only available for US companies. * @param symbol * @returns {NewsSentiment | null} */ newsSentiment(symbol: string): Promise; /** * GetRecommendationTrends * Get general information of a company * https://finnhub.io/docs/api/company-profile2 */ GetRecommendationTrends(symbol: string): Promise; /** * @deprecated - please use peers API * GetPeers * Get company peers. Return a list of peers in the same country and GICS sub-industry * @param symbol */ getPeers(symbol: string): Promise; /** * Peers - https://finnhub.io/docs/api/company-peers * Get company peers. Return a list of peers in the same country and GICS sub-industry * @param symbol Symbol of the company * @returns Array of peers' symbol. */ peers(symbol: string): Promise; /** * Basic Financials - https://finnhub.io/docs/api/company-basic-financials * Get company basic financials such as margin, P/E ratio, 52-week high/low etc. * @param args @type {BasicFinancialsRequest} * @returns {BasicFinancials} */ basicFinancials(args: BasicFinancialsRequest): Promise; /** * Insider Transactions - https://finnhub.io/docs/api/insider-transactions * Company insider transactions data sourced from Form 3,4,5. This endpoint only covers US companies at the moment. * Limit to 100 transactions per API call. * @param args @type {InsiderTransactionRequest} * @returns {InsiderTransaction} */ insiderTransactions(args: InsiderTransactionRequest): Promise; } export default FinnhubAPI;