import pandas as pd
from yfinance import const as const
from yfinance import utils as utils
from yfinance.data import YfData as YfData
from yfinance.exceptions import YFException as YFException
from yfinance.exceptions import YFNotImplementedError as YFNotImplementedError

class Fundamentals:
    def __init__(self, data: YfData, symbol: str, proxy=...) -> None: ...
    @property
    def financials(self) -> Financials: ...
    @property
    def earnings(self) -> dict: ...
    @property
    def shares(self) -> pd.DataFrame: ...

class Financials:
    def __init__(self, data: YfData, symbol: str) -> None: ...
    def get_income_time_series(self, freq: str = "yearly", proxy=...) -> pd.DataFrame: ...
    def get_balance_sheet_time_series(self, freq: str = "yearly", proxy=...) -> pd.DataFrame: ...
    def get_cash_flow_time_series(self, freq: str = "yearly", proxy=...) -> pd.DataFrame: ...
