from __future__ import annotations

from sys import version_info as version_info
from typing import Any

from ..data_feeder import check_dtype as check_dtype
from ..data_feeder import check_type as check_type
from ..data_feeder import check_variable_and_dtype as check_variable_and_dtype
from ..data_feeder import convert_dtype as convert_dtype
from ..framework import Block as Block
from ..framework import Variable as Variable
from ..layer_helper import LayerHelper as LayerHelper

def convert_to_list(value: Any, n: Any, name: Any, dtype: Any = ...): ...
def is_sequence(seq: Any): ...
def flatten(nest: Any): ...
def pack_sequence_as(structure: Any, flat_sequence: Any): ...
def map_structure(func: Any, *structure: Any): ...
def hold_mutable_vars(structure: Any): ...
def copy_mutable_vars(structure: Any): ...
def assert_same_structure(nest1: Any, nest2: Any, check_types: bool = ...) -> None: ...
def get_shape_tensor_inputs(inputs: Any, attrs: Any, shape: Any, op_type: Any): ...
def convert_shape_to_list(shape: Any): ...
def check_shape(shape: Any) -> None: ...
def try_set_static_shape_tensor(tensor: Any, shape: Any) -> None: ...
def try_get_constant_shape_from_tensor(shape_tensor: Any): ...
def get_inputs_outputs_in_block(block: Any): ...
