from __future__ import annotations

from typing import TYPE_CHECKING

from django_spire.contrib.service import BaseDjangoModelService

from ${module_path}.services.factory_service import ${factory_service_class_name}
from ${module_path}.services.intelligence_service import ${intelligence_service_class_name}
from ${module_path}.services.processor_service import ${processor_service_class_name}
from ${module_path}.services.transformation_service import ${transformation_service_class_name}

if TYPE_CHECKING:
    from ${module_path}.models import ${model_class_name}


class ${service_class_name}(BaseDjangoModelService['${model_class_name}']):
    obj: ${model_class_name}

    intelligence = ${intelligence_service_class_name}()
    processor = ${processor_service_class_name}()
    factory = ${factory_service_class_name}()
    transformation = ${transformation_service_class_name}()
