# AUTOGENERATED FILE
# generated by datamodel-codegen:


from __future__ import annotations

from typing import Any, Dict, List, Literal, Union

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

class AnyReference(BaseMessage):
    model_config = ConfigDict(
        extra='allow',
    )
    data: Any
    reference: str
    type: Literal['any'] = 'any'


class BaseReference(BaseMessage):
    model_config = ConfigDict(
        extra='allow',
    )
    data: Any
    reference: str
    type: Literal['array', 'record', 'content', 'any']


class RecordReference(BaseMessage):
    model_config = ConfigDict(
        extra='allow',
    )
    data: Dict[str, Any]
    limit: int
    reference: str
    type: Literal['record'] = 'record'


class ArrayReference(BaseMessage):
    model_config = ConfigDict(
        extra='allow',
    )
    data: List[Any]
    limit: int
    method: Literal['lifo', 'fifo', 'ignore']
    reference: str
    type: Literal['array'] = 'array'
