"""
This type stub file was generated by pyright.
"""

from typing import Any, Optional, Protocol
from dataclasses import dataclass
from fundar_llms import Base64, Context
from fundar_llms.utils import DataclassDictUtilsMixin

response_dataclass_options = ...
@dataclass(**response_dataclass_options)
class BaseResponse(DataclassDictUtilsMixin):
    model: str
    prompt: str
    system: str
    response: str
    total_duration: int
    load_duration: Optional[int] = ...
    done: Optional[bool] = ...
    done_reason: Optional[str] = ...
    context: Optional[Context] = ...
    num_ctx: Optional[int] = ...
    num_predict: Optional[int] = ...
    temperature: Optional[float] = ...
    top_k: Optional[float] = ...
    top_p: Optional[float] = ...
    extra: Optional[Any] = ...


class PlainPromptInterface(Protocol):
    def generate(self, model: str, prompt: str, raw: Optional[bool] = ..., image: Optional[Base64] = ..., suffix: Optional[str] = ..., format: Optional[str] = ..., system: Optional[str] = ..., context: Optional[Context] = ..., stream: Optional[bool] = ..., num_ctx: Optional[int] = ..., num_predict: Optional[int] = ..., temperature: Optional[float] = ..., top_k: Optional[int] = ..., top_p: Optional[float] = ..., *args, **kwargs) -> BaseResponse:
        ...
    


