from typing import Any, Optional, Set

from dev.coatl.helper.types import AnyStr
from java.lang import Object, Throwable
from java.util import Locale

class ExceptionContext(Object):
    def __init__(self, throwable: Throwable) -> None: ...
    def addMessage(self, pattern: AnyStr, *args: Any) -> None: ...
    def getKeys(self) -> Set[AnyStr]: ...
    def getLocalizedMessage(self) -> AnyStr: ...
    def getMessage(
        self, locale: Optional[Locale] = ..., separator: Optional[AnyStr] = ...
    ) -> AnyStr: ...
    def getThrowable(self) -> Throwable: ...
    def getValue(self, key: AnyStr) -> None: ...
    def setValue(self, key: AnyStr, value: Object) -> None: ...
