# pyright: strict from typing import ( Any, Sequence, Optional, ) class JMESPathError(ValueError): ... class UnknownFunctionError(JMESPathError): ... class ParseError(JMESPathError): lex_position: int = ... token_value: str = ... token_type: str = ... msg: str = ... expression: Any = ... def __init__( self, lex_position: int, token_value: str, token_type: str, msg: str = ... ) -> None: ... def __str__(self) -> str: ... class IncompleteExpressionError(ParseError): def __str__(self) -> str: ... def set_expression(self, expression: str) -> None: ... class LexerError(ParseError): lexer_position: int = ... lexer_value: str = ... message: str = ... def __init__( self, lexer_position: int, lexer_value: str, message: str, expression: None = ..., ) -> None: ... def __str__(self) -> str: ... class ArityError(ParseError): expected_arity: int = ... actual_arity: int = ... function_name: str = ... def __init__(self, expected: int, actual: int, name: str) -> None: ... def __str__(self) -> str: ... class VariadictArityError(ArityError): def __str__(self) -> str: ... class JMESPathTypeError(JMESPathError): function_name: str = ... current_value: Any = ... actual_type: str = ... expected_types: Sequence[str] = ... def __init__( self, function_name: str, current_value: Any, actual_type: str, expected_types: Sequence[str], ) -> None: ... def __str__(self) -> str: ... class EmptyExpressionError(JMESPathError): def __init__(self) -> None: ...