from __future__ import annotations

from typing import Any

from paddle.fluid.dygraph.dygraph_to_static.origin_info import OriginInfo

ERROR_DATA: str
SIMPLIFY_ERROR_ENV_NAME: str
DEFAULT_SIMPLIFY_NEW_ERROR: int
DISABLE_ERROR_ENV_NAME: str
DEFAULT_DISABLE_NEW_ERROR: int
SOURCE_CODE_RANGE: int
BLANK_COUNT_BEFORE_FILE_STR: int

def attach_error_data(error: Any, in_runtime: bool = ...): ...

class TraceBackFrame(OriginInfo):
    location: Any = ...
    function_name: Any = ...
    source_code: Any = ...
    def __init__(self, location: Any, function_name: Any, source_code: Any) -> None: ...
    def formated_message(self): ...

class TraceBackFrameRange(OriginInfo):
    location: Any = ...
    function_name: Any = ...
    source_code: Any = ...
    def __init__(self, location: Any, function_name: Any) -> None: ...
    def formated_message(self): ...

class SuggestionDict:
    suggestion_dict: Any = ...
    def __init__(self) -> None: ...
    def keys(self): ...
    def __getitem__(self, key: Any): ...

class ErrorData:
    error_type: Any = ...
    error_value: Any = ...
    origin_traceback: Any = ...
    origin_info_map: Any = ...
    in_runtime: bool = ...
    suggestion_dict: Any = ...
    def __init__(self, error_type: Any, error_value: Any, origin_traceback: Any, origin_info_map: Any) -> None: ...
    def create_exception(self): ...
    def create_message(self): ...
    def raise_new_exception(self) -> None: ...
