from __future__ import annotations import abc from typing import AsyncIterator from .typing import Kline class BaseProvider(abc.ABC): @abc.abstractmethod async def stream_klines(self, symbol: str, timeframe: str) -> AsyncIterator["Kline"]: ... @abc.abstractmethod async def get_historical_ohlcv(self, symbol: str, timeframe: str, start=None, end=None): ...