import pandas as pd
from _typeshed import Incomplete
from czsc.core import CZSC as CZSC
from plotly import graph_objects as go

class KlineChart:
    n_rows: Incomplete
    color_red: str
    color_green: str
    fig: Incomplete
    def __init__(self, n_rows: int = 3, **kwargs) -> None: ...
    def add_kline(self, kline: pd.DataFrame, name: str = 'K线', **kwargs): ...
    def add_vol(self, kline: pd.DataFrame, row: int = 2, **kwargs): ...
    def add_sma(self, kline: pd.DataFrame, row: int = 1, ma_seq=(5, 10, 20), visible: bool = False, **kwargs): ...
    def add_macd(self, kline: pd.DataFrame, row: int = 3, **kwargs): ...
    def add_indicator(self, dt, scatters: list = None, scatter_names: list = None, bar=None, bar_name: str = '', row: int = 4, **kwargs): ...
    def add_marker_indicator(self, x, y, name: str, row: int, text=None, **kwargs): ...
    def add_scatter_indicator(self, x, y, name: str, row: int, text=None, **kwargs): ...
    def add_bar_indicator(self, x, y, name: str, row: int, color=None, **kwargs): ...
    def open_in_browser(self, file_name: str = None, **kwargs): ...
    def show(self, **kwargs) -> None: ...

def plot_nx_graph(g, **kwargs) -> go.Figure: ...
def plot_czsc_chart(czsc_obj: CZSC, **kwargs) -> KlineChart: ...
