from abc import ABC, abstractmethod
from typing import Any

from langchain_core.language_models import BaseChatModel


class BaseLlm(ABC):
    @property
    @abstractmethod
    def native(self) -> Any:
        pass

    @property
    @abstractmethod
    def langchain(self) -> BaseChatModel:
        pass
