"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from neuralseek.types import BaseModel
import pydantic
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class LogsRequestBodyTypedDict(TypedDict):
    r"""The request object."""

    limit: NotRequired[int]
    r"""The number of rows to return, max of 100"""
    skip: NotRequired[int]
    r"""The number of result sets to skip for paging"""
    search: NotRequired[str]
    r"""An optional search string"""


class LogsRequestBody(BaseModel):
    r"""The request object."""

    limit: Optional[int] = 100
    r"""The number of rows to return, max of 100"""

    skip: Optional[int] = 0
    r"""The number of result sets to skip for paging"""

    search: Optional[str] = ""
    r"""An optional search string"""


class LogsResponseBodyTypedDict(TypedDict):
    date_: NotRequired[str]
    r"""The timestamp of the entry"""
    question: NotRequired[str]
    r"""The user question"""
    answer: NotRequired[str]
    r"""The answer returned"""
    id: NotRequired[int]
    r"""The answer id"""


class LogsResponseBody(BaseModel):
    date_: Annotated[Optional[str], pydantic.Field(alias="date")] = ""
    r"""The timestamp of the entry"""

    question: Optional[str] = ""
    r"""The user question"""

    answer: Optional[str] = ""
    r"""The answer returned"""

    id: Optional[int] = None
    r"""The answer id"""
