import { EarningsTime, EtfBreakdownCategory, EtfCommonParam, EtfFilterAssetOptions, EtfFilterInverseOptions, EtfFilterLeverageOptions, EtfFilterMainOptions, GlobalGroupCode, GlobalIndustryCode, GlobalSectorCode, GlobalSubIndustryCode, IndustrySector, IndustryType, OptionRadarCategory } from '../constants/lookups'; import { Quote } from './Quote.type'; export interface Address { streets: string[]; city: string; state: string; zipcode: string; country: string; } export interface Earning { actual: number; estimate: number; previousYearActual: number; count: number; change: number; high: number; low: number; mean: number; end: string; } export interface Estimates { QTR1: Earning; QTR2: Earning; YEAR2: Earning; YEAR1: Earning; } export interface LongTermGrowth { count: number; high: number; low: number; estimates: number; } export interface EarningEstimates { estimates: Estimates; longTermGrowth: LongTermGrowth; num: number; quarter2: Earning; year1: Earning; year2: Earning; quarter1: Earning; } export interface Industry { industryName: string; industryType: IndustryType; levelCode: GlobalSectorCode | GlobalGroupCode | GlobalIndustryCode | GlobalSubIndustryCode; symbols: string[]; size: number; } export interface SectorRanking { industry: Industry; priceRank: number; priceChange: number; priceChangeOneWeek: number; priceChangeTwoWeeks: number; priceChangeOneMonth: number; marketCapRank: number; marketCap: number; marketCapChange: number; marketCapChangeOneWeek: number; marketCapChangeTwoWeeks: number; marketCapChangeOneMonth: number; } export interface IndustryRanking { industry: Industry; priceRank: number; priceChange: number; priceChangeOneWeek: number; priceChangeTwoWeeks: number; priceChangeOneMonth: number; marketCapRank: number; marketCap: number; marketCapChange: number; marketCapChangeOneWeek: number; marketCapChangeTwoWeeks: number; marketCapChangeOneMonth: number; } export interface EtfSymbolEntry { symbol: string; sponsorId: number; sponsor: string; sponsorDesc: string; sponsorUrl: string; assetId: number; asset: string; categoryId: number; category: string; structureType: string; structureId: number; structure: string; inceptionDate: string; leverage: number; expenseRatio: number; url: string; factSheetUrl: string; prospectusUrl: string; otherUrls: string; countryPct: number; continentPct: number; sectorCode: number; sectorPct: number; priceRank: number; priceChange: number; priceChange1w: number; priceChange2w: number; priceChange1m: number; exposure: number; active: boolean; option: boolean; inverse: boolean; } export interface EtfSymbolEntryWithExtraInfo extends EtfSymbolEntry { companyName: string; size: number; volume: number; change: number; changePercent: number; price: number; } export interface QuoteProfile { address: Address; earningEstimates: EarningEstimates; businessSummary: string; longSummary: string; phone: string; fax: string; url: string; orbisIndex: boolean; shariaSafe: boolean; tierId: number; otcqx: boolean; email: string; employeeDescription: string; employeeAsOf: string; employeeCount: number; shareHolderCount: number; shareholderAsOf: string; incorpCountry: string; incorpState: string; incorpDate: string; issueDescription: string; issueReference: string; issuePrimaryExchange: string; issuePrimaryTicker: string; issueIADAmount: number; splitLiteral: number; splitRatio: number; outStandingAsOf: string; outStandingShares: number; shareOutstandingAmount: number; sharesOutstandingDate: string; fileDate: string; reportDate: string; shareOutstandingPrimaryExchange: string; shareOutstandingPrimaryTicker: string; globalDescription: string; globalSector: string; globalGroup: string; globalIndustry: string; globalSubIndustry: string; globalSectorCode: GlobalSectorCode; globalGroupCode: GlobalGroupCode; globalIndustryCode: GlobalIndustryCode; globalSubIndustryCode: GlobalSubIndustryCode; shortInterest: number; shortInterestRatio: number; shortInterestPct: number; insiderOwnPct: number; institutionalOwnPc: number; sectorRanking: SectorRanking; industryRanking: IndustryRanking; sectorMarketCap: number; industryMarketCap: number; sectorMaxRank: number; industryMaxRank: number; etf: boolean; etfCategoryId: number; etfUrl: string; etfSponsorId: number; etfSponsorUrl: string; etfSponsorDesc: string; etfSymbolEntry?: EtfSymbolEntry; adr: boolean; } export interface QuoteProfileWithExtraInfo extends QuoteProfile { fullAddress: string; sector: string; industry: string; description: string; intOwnership: number; insOwnership: number; employees: number; etfCategory: string; etfAsset: string; expenseRatio: number; asset: string; category: string; leverage: number; inverse: boolean; structure: string; sponsor: string; } export interface Sector { code: string; breakdown: string; percentage: number; } export interface Country { breakdown: string; percentage: number; } export interface Holding { symbol: string; companyName: string; rank: number; percentage: number; option: boolean; } export interface MarketCap { breakdown: string; percentage: number; } export interface Continent { code: string; breakdown: string; percentage: number; } export interface AssetAllocation { breakdown: string; percentage: number; } export interface EtfDetails { Sectors?: Sector[]; Countries: Country[]; Holdings: Holding[]; MarketCaps: MarketCap[]; Continents: Continent[]; AssetAllocations: AssetAllocation[]; } export interface EtfBreakdown { symbol: string; option: boolean; levelCode: GlobalGroupCode; rank: number; marketCap: number; currentValue: number; oneWeekValue: number; twoWeeksValue: number; oneMonthValue: number; quote: Quote; duration: string; breakdownPct: number; etfId: number; rankingPriceChangePct: number; } export interface EtfBreakdownWithExtraInfo extends EtfBreakdown { companyName: string; lastPrice: number; changePercent: number; } export declare type SectorBreakDown = Record; export interface Earnings { createdOn: string; date: Date; inPortfolio: boolean; inWatchlist: boolean; option: boolean; quote: Quote; symbol: string; time: EarningsTime; } export interface EarningsWithExtraInfo extends Earnings { companyName: string; price: number; change: number; changePercent: number; volume: number; marketCap: number; } export declare type IpoUnderwriters = { id: number; name: string; title: string; }; export interface Ipo { ceo: string; symbol: string; companyName: string; ipoDate: string; offerPriceMin: number; offerPriceMax: number; offerShares: number; firstDayOpen: number; totalReturn: number; offerSize: number; offerPrice: number; quoteYesterdayCloseWithoutSplit: number; underwriters?: IpoUnderwriters[]; quote?: Quote; } export interface IpoWithExtraInfo extends Ipo { ipoReturn: number; lastPrice: number; change: number; ipoSize: number; quoteClose: number; } export declare type EtfBreakdownEntry = { symbol: string; hasRecentDowngrade: boolean; hasRecentUpgrade: boolean; option: boolean; volume?: number; quote: Quote; etf: EtfSymbolEntry; }; export declare type TopTenBreakdown = Record; export interface EtfFilterOption { value: EtfFilterAssetOptions | EtfFilterLeverageOptions | EtfFilterInverseOptions | EtfFilterMainOptions | undefined; name?: string; id?: string; etfCount?: number; } export declare type EtfInit = Record | Record>; export declare type EtfInitCommonParams = Partial>; export interface OptionRadar { underlyingSymbol: string; expiration: Date; callVolume: number; putVolume: number; totalVolume: number; callOi: number; putOi: number; callVolAvg30Day: number; callOiAvg30Day: number; putVolAvg30Day: number; putOiAvg30Day: number; callVolCallOiRatio: number; putVolPutOiRatio: number; callOiPutOiRatio: number; putOiCallOiRatio: number; callVolPutVolRatio: number; putVolCallVolRatio: number; callVol30DayAvgRatio: number; putVol30DayAvgRatio: number; callOi30DayAvgRatio: number; putOi30DayAvgRatio: number; updated: string; symbol: string; option: boolean; } export declare type OptionsRadarBreakdown = Record;