# Code generated by Lark OpenAPI.

from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type
from lark_oapi.core.construct import init


class CalendarUnderstandExtra(object):
    _types = {
        "ai_task_id": str,
        "event_uid": str,
        "origin_time": str,
    }

    def __init__(self, d=None):
        self.ai_task_id: Optional[str] = None
        self.event_uid: Optional[str] = None
        self.origin_time: Optional[str] = None
        init(self, d, self._types)

    @staticmethod
    def builder() -> "CalendarUnderstandExtraBuilder":
        return CalendarUnderstandExtraBuilder()


class CalendarUnderstandExtraBuilder(object):
    def __init__(self) -> None:
        self._calendar_understand_extra = CalendarUnderstandExtra()

    def ai_task_id(self, ai_task_id: str) -> "CalendarUnderstandExtraBuilder":
        self._calendar_understand_extra.ai_task_id = ai_task_id
        return self

    def event_uid(self, event_uid: str) -> "CalendarUnderstandExtraBuilder":
        self._calendar_understand_extra.event_uid = event_uid
        return self

    def origin_time(self, origin_time: str) -> "CalendarUnderstandExtraBuilder":
        self._calendar_understand_extra.origin_time = origin_time
        return self

    def build(self) -> "CalendarUnderstandExtra":
        return self._calendar_understand_extra
