import contextlib
import typing
from .deprecation import deprecated as deprecated
from .exception import BreakingAPIChangeError as BreakingAPIChangeError, IllegalInGraphModeError as IllegalInGraphModeError
from .temporary import TemporarilySet as TemporarilySet
from _typeshed import Incomplete

class RunManager:
    DEFAULT_MODE: typing.ClassVar
    MAX_CHUNK_SIZE: Incomplete
    chunking: Incomplete
    numeric_checks: bool
    def __init__(self, n_cpu: str = 'auto') -> None: ...
    @property
    def mode(self): ...
    @property
    def chunksize(self): ...
    @property
    def check_numerics(self): ...
    @check_numerics.setter
    def check_numerics(self, value) -> None: ...
    @property
    def n_cpu(self): ...
    def set_n_cpu(self, n_cpu: str | int = 'auto', strict: bool = False) -> None: ...
    def set_cpus_explicit(self, intra: int, inter: int) -> None: ...
    @contextlib.contextmanager
    def aquire_cpu(self, max_cpu: int = -1) -> list[str]: ...
    def __call__(self, *args, **kwargs): ...
    @staticmethod
    def experimental_enable_eager(eager: bool = False): ...
    def experimental_disable_param_update(self, value: bool = True): ...
    def set_graph_mode(self, graph: bool | str | dict | None = None, *, set_backend: bool | None = None): ...
    def set_autograd_mode(self, autograd: bool | None = None): ...
    def set_mode(self, graph: bool | str | dict | None = None, autograd: bool | None = None): ...
    def get_graph_mode(self) -> bool | str: ...
    def current_policy_graph(self) -> bool | str: ...
    def get_autograd_mode(self) -> bool: ...
    def current_policy_autograd(self) -> bool: ...
    def set_mode_default(self) -> None: ...
    def clear_graph_cache(self, *, call_gc: bool | None = None): ...
    def set_graph_cache_size(self, size: int | None = None): ...
    def assert_executing_eagerly(self) -> None: ...
    @property
    def experimental_is_eager(self) -> None: ...
    def executing_eagerly(self): ...
    def experimental_clear_caches(self) -> None: ...
    def hashing_data(self): ...
    def set_data_hashing(self, enabled: bool): ...

def eval_object(obj: object) -> object: ...
