# Code generated by Lark OpenAPI.

from typing import *

from lark_oapi.core.construct import init


class SchemaDisplayOption(object):
    _types = {
        "display_label": str,
        "display_type": str,
    }

    def __init__(self, d=None):
        self.display_label: Optional[str] = None
        self.display_type: Optional[str] = None
        init(self, d, self._types)

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


class SchemaDisplayOptionBuilder(object):
    def __init__(self) -> None:
        self._schema_display_option = SchemaDisplayOption()

    def display_label(self, display_label: str) -> "SchemaDisplayOptionBuilder":
        self._schema_display_option.display_label = display_label
        return self

    def display_type(self, display_type: str) -> "SchemaDisplayOptionBuilder":
        self._schema_display_option.display_type = display_type
        return self

    def build(self) -> "SchemaDisplayOption":
        return self._schema_display_option
