class AnyFastError(Exception):
    """Base exception for AnyFast SDK."""

    def __init__(self, message: str, status: int = None, code: str = None, data: dict = None):
        super().__init__(message)
        self.status = status
        self.code = code
        self.data = data


class AuthenticationError(AnyFastError):
    """Raised when authentication fails (401)."""
    pass


class BadRequestError(AnyFastError):
    """Raised when the request is invalid (400)."""
    pass


class InternalServerError(AnyFastError):
    """Raised when the server encounters an error (500)."""
    pass


class APIError(AnyFastError):
    """Raised for other API errors."""
    pass
