export interface AnalystEstimate { symbol: string; date: string; revenueLow: number; revenueHigh: number; revenueAvg: number; ebitdaLow: number; ebitdaHigh: number; ebitdaAvg: number; ebitLow: number; ebitHigh: number; ebitAvg: number; netIncomeLow: number; netIncomeHigh: number; netIncomeAvg: number; sgaExpenseLow: number; sgaExpenseHigh: number; sgaExpenseAvg: number; epsAvg: number; epsHigh: number; epsLow: number; numAnalystsRevenue: number; numAnalystsEps: number; } export interface RatingsSnapshot { symbol: string; rating: string; overallScore: number; discountedCashFlowScore: number; returnOnEquityScore: number; returnOnAssetsScore: number; debtToEquityScore: number; priceToEarningsScore: number; priceToBookScore: number; } export interface HistoricalRating extends RatingsSnapshot { date: string; } export interface PriceTargetSummary { symbol: string; lastMonthCount: number; lastMonthAvgPriceTarget: number; lastQuarterCount: number; lastQuarterAvgPriceTarget: number; lastYearCount: number; lastYearAvgPriceTarget: number; allTimeCount: number; allTimeAvgPriceTarget: number; publishers: string; } export interface PriceTargetConsensus { symbol: string; targetHigh: number; targetLow: number; targetConsensus: number; targetMedian: number; } export interface PriceTargetNews { symbol: string; publishedDate: string; newsURL: string; newsTitle: string; analystName: string; priceTarget: number; adjPriceTarget: number; priceWhenPosted: number; newsPublisher: string; newsBaseURL: string; analystCompany: string; } export interface StockGrade { symbol: string; date: string; gradingCompany: string; previousGrade: string; newGrade: string; action: string; } export interface HistoricalStockGrade { symbol: string; date: string; analystRatingsBuy: number; analystRatingsHold: number; analystRatingsSell: number; analystRatingsStrongSell: number; } export interface StockGradeSummary { symbol: string; strongBuy: number; buy: number; hold: number; sell: number; strongSell: number; consensus: string; } export interface StockGradeNews { symbol: string; publishedDate: string; newsURL: string; newsTitle: string; newsBaseURL: string; newsPublisher: string; newGrade: string; previousGrade: string; gradingCompany: string; action: string; priceWhenPosted: number; }