# AUTOGENERATED FILE


from __future__ import annotations

from typing import Literal

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


class Props(BaseContent):
    model_config = ConfigDict(
        extra='allow',
    )
    code: str
    id: str = Field(..., description='ID of the component')
    language: Literal[
        'bash',
        'javascript',
        'python',
        'java',
        'c',
        'cpp',
        'rust',
        'r',
        'sql',
        'scala',
        'html',
        'json',
        'yaml',
        'markdown',
    ]
    contentType: Literal['v0/CodeBlock.vue'] = 'v0/CodeBlock.vue'


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