from typing import Optional, override
from flut._flut.engine import FlutImmutableObject




class InputDecoration(FlutImmutableObject):
    def __init__(
        self,
        *,
        hintText: Optional[str] = None,
        contentPadding=None,
        filled: Optional[bool] = None,
        fillColor=None,
        border=None,
    ):
        super().__init__("InputDecoration")
        self.hintText = hintText
        self.contentPadding = contentPadding
        self.filled = filled
        self.fillColor = fillColor
        self.border = border

    @override
    def _flut_pack(self) -> dict:
        result = self._flut_base_props()
        if self.hintText is not None:
            result["hintText"] = self.hintText
        if self.contentPadding is not None:
            result["contentPadding"] = self.contentPadding._flut_pack()
        if self.filled is not None:
            result["filled"] = self.filled
        if self.fillColor is not None:
            result["fillColor"] = self.fillColor._flut_pack()
        if self.border is not None:
            result["border"] = self.border._flut_pack()
        return result
