# AUTOGENERATED FILE


from __future__ import annotations

from typing import List, Literal, Optional, Union

from miniappi.core.models.content import BaseContent
from pydantic import ConfigDict, Field, RootModel


class ReferenceAny(BaseContent):
    """
    Reference content/attribute References are useful for fast changing data to avoid sending the whole UI structure every time.
    """

    model_config = ConfigDict(
        extra='allow',
    )
    data: Optional[List] = Field(
        None, description='If given, the reference is initialized with given type'
    )
    reference: str = Field(..., description='ID of the reference')


Reference3Cany5B5D3E = ReferenceAny


class Props(BaseContent):
    model_config = ConfigDict(
        extra='allow',
    )
    cols: Optional[float] = None
    contents: Union[List, Reference3Cany5B5D3E]
    id: str = Field(..., description='ID of the component')
    rows: Optional[float] = None
    contentType: Literal['v0/layouts/Grid.vue'] = 'v0/layouts/Grid.vue'


class Root(RootModel[Props]):
    root: Props
