import tensorflow as tf
import typing
from ..settings import ztypes as ztypes
from ..util.exception import BreakingAPIChangeError as BreakingAPIChangeError
from _typeshed import Incomplete
from typing import Any

def exp(x) -> tf.Tensor: ...
def convert_to_tensor(value, dtype=...) -> tf.Tensor: ...
def random_normal(*_, **__) -> typing.NoReturn: ...
def random_uniform(*_, **__) -> typing.NoReturn: ...
def random_poisson(*_, **__) -> typing.NoReturn: ...
def square(x, name=None) -> tf.Tensor: ...
def sqrt(x, name=None) -> tf.Tensor: ...
def pow(x, y, name=None) -> tf.Tensor: ...
def complex(real, imag, name=None) -> tf.Tensor: ...
def check_numerics(tensor: Any, message: Any, name: Any = None) -> tf.Operation: ...
def assert_all_finite(t: tf.Tensor, msg: str | None = None) -> tf.Operation: ...
def assert_positive(t: tf.Tensor, msg: str | None = None) -> tf.Operation: ...
def assert_non_negative(t: tf.Tensor, msg: str | None = None) -> tf.Operation: ...
def assert_equal(t1: tf.Tensor, t2: tf.Tensor, message: str | None = None) -> tf.Operation: ...
def assert_greater_equal(x: tf.Tensor, y: tf.Tensor, msg: str | None = None) -> tf.Operation | None: ...
def assert_greater(x: tf.Tensor, y: tf.Tensor, message: str | None = None) -> tf.Operation | None: ...
def assert_less(x: tf.Tensor, y: tf.Tensor, message: str | None = None) -> tf.Operation | None: ...

reduce_sum: Incomplete
reduce_prod: Incomplete
