# This file was auto-generated by Fern from our API Definition. import typing import pydantic import typing_extensions from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel from ..core.serialization import FieldMetadata from .component_property import ComponentProperty class ComponentNode(UniversalBaseModel): """ Represents a component instance within the DOM. It contains details about the component instance, such as its type and properties. """ id: str = pydantic.Field() """ The unique identifier of the component instance node """ component_id: typing_extensions.Annotated[ str, FieldMetadata(alias="componentId"), pydantic.Field(alias="componentId", description="The unique identifier of the component"), ] property_overrides: typing_extensions.Annotated[ typing.List[ComponentProperty], FieldMetadata(alias="propertyOverrides"), pydantic.Field( alias="propertyOverrides", description="List of component properties with overrides for a component instance.", ), ] if IS_PYDANTIC_V2: model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2 else: class Config: frozen = True smart_union = True extra = pydantic.Extra.allow