# 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

from miniappi.core.models.references import ArrayReference

class BaseContentModel(BaseContent):
    """
    Base model for content
    """

    model_config = ConfigDict(
        extra='allow',
    )
    contentType: Optional[str] = None
    id: Optional[str] = None


class Props(BaseContent):
    model_config = ConfigDict(
        extra='allow',
    )
    cols: Optional[float] = None
    contents: Union[List, ArrayReference]
    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
