from _typeshed import Incomplete
from czsc import envs as envs
from czsc.py.enum import Direction as Direction, Mark as Mark
from czsc.py.objects import BI as BI, FX as FX, NewBar as NewBar, RawBar as RawBar

def remove_include(k1: NewBar, k2: NewBar, k3: RawBar): ...
def check_fx(k1: NewBar, k2: NewBar, k3: NewBar): ...
def check_fxs(bars: list[NewBar]) -> list[FX]: ...
def check_bi(bars: list[NewBar], **kwargs): ...

class CZSC:
    verbose: Incomplete
    max_bi_num: Incomplete
    bars_raw: list[RawBar]
    bars_ubi: list[NewBar]
    bi_list: list[BI]
    symbol: Incomplete
    freq: Incomplete
    get_signals: Incomplete
    signals: Incomplete
    cache: Incomplete
    def __init__(self, bars: list[RawBar], get_signals=None, max_bi_num=...) -> None: ...
    def update(self, bar: RawBar): ...
    def to_echarts(self, width: str = '1400px', height: str = '580px', bs=[]): ...
    def to_plotly(self): ...
    def open_in_browser(self, width: str = '1400px', height: str = '580px'): ...
    @property
    def last_bi_extend(self): ...
    @property
    def finished_bis(self) -> list[BI]: ...
    @property
    def ubi_fxs(self) -> list[FX]: ...
    @property
    def ubi(self): ...
    @property
    def fx_list(self) -> list[FX]: ...
