from __future__ import annotations

from typing import Any

from . import core as core
from . import unique_name as unique_name

MAX_INTEGER: Any

def is_list_tuple(index: Any, contain_type: Any): ...
def is_one_dim_list(index: Any, contain_type: Any): ...
def get_list_index_shape(var_dims: Any, index_dims: Any): ...

class SliceInfo:
    pre_shape: Any = ...
    indexes: Any = ...
    dtype: Any = ...
    def __init__(self) -> None: ...
    def update(self, index: Any) -> None: ...
    def shape_stride(self, shape: Any): ...
    def numel(self, shape: Any): ...
    def get_offset_stride(self, tensor_shape: Any): ...
    def get_item(self, tensor: Any): ...
    def set_item(self, tensor_origin: Any, value: Any): ...

def replace_ellipsis(var: Any, item: Any): ...
def replace_ndarray(item: Any): ...
def replace_none(item: Any): ...
def is_integer_or_scalar_tensor(ele: Any): ...
def is_bool_tensor(ele: Any): ...
def deal_attrs(attrs: Any, attr: Any, attr_name: Any, tensor_attr_name: Any, inputs: Any, infer_flags: Any) -> None: ...
def get_value_for_bool_tensor(var: Any, item: Any): ...
def set_value_for_bool_tensor(var: Any, item: Any, value: Any): ...
