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<MarketDataItem[]>;
    /**
     * 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<TickData[]>;
    /**
     * 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<Quote>;
    /**
     * 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<SymbolLookup | null>;
    /**
     * 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<CompanyProfile2 | null>;
    /**
     * Market News - https://finnhub.io/docs/api/market-news
     * Get latest market news.
     * @param args @type {MarketNewsRequest}
     * @returns {MarketNews | null}
     */
    marketNews(args: MarketNewsRequest): Promise<MarketNews[] | null>;
    /**
     * 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<CompanyNews[] | null>;
    /**
     * 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<NewsSentiment | null>;
    /**
     * GetRecommendationTrends
     * Get general information of a company
     * https://finnhub.io/docs/api/company-profile2
     */
    GetRecommendationTrends(symbol: string): Promise<RecommendationTrends[]>;
    /**
     * @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<string[] | null>;
    /**
     * 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<string[] | null>;
    /**
     * 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<BasicFinancials | null>;
    /**
     * 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<InsiderTransaction | null>;
}
export default FinnhubAPI;
