import numpy as np
from collections import Counter as Counter, OrderedDict
from czsc.py.enum import Direction as Direction
from czsc.py.objects import BI as BI, RawBar as RawBar, Signal as Signal, ZS as ZS
from deprecated import deprecated as deprecated
from typing import Any

def create_single_signal(**kwargs) -> OrderedDict: ...
def is_symmetry_zs(bis: list[BI], th: float = 0.3) -> bool: ...
def check_cross_info(fast: list | np.ndarray, slow: list | np.ndarray): ...
def check_gap_info(bars: list[RawBar]): ...
def fast_slow_cross(fast, slow): ...
def same_dir_counts(seq: list | np.ndarray): ...
def count_last_same(seq: list | np.ndarray | tuple): ...
def get_sub_elements(elements: list[Any], di: int = 1, n: int = 10) -> list[Any]: ...
def is_bis_down(bis: list[BI]): ...
def is_bis_up(bis: list[BI]): ...
def get_zs_seq(bis: list[BI]) -> list[ZS]: ...
def cross_zero_axis(n1: list | np.ndarray, n2: list | np.ndarray) -> int: ...
def cal_cross_num(cross: list, distance: int = 1) -> tuple: ...
def down_cross_count(x1: list | np.ndarray, x2: list | np.ndarray) -> int: ...
