from dataclasses import dataclass
from dataclasses_json import dataclass_json
from typing import Optional
from .base_model import BaseModel


@dataclass_json
@dataclass
class NamedBaseModel(BaseModel):
    """
    Base model for all GLTF2 models that also have a name property

    Properties:
    name (string): The user-defined name of this object. (Optional)
    extensions (object): Dictionary object with extension-specific objects. (Optional)
    extras (any) Application-specific data. (Optional)
    """
    name: Optional[str] = None
