<?php

declare(strict_types=1);

namespace ROITheme\Admin\Domain\Contracts;

/**
 * Contrato para renderizar el dashboard del panel de administración
 *
 * Domain - Lógica pura sin WordPress
 */
interface DashboardRendererInterface
{
    /**
     * Renderiza el dashboard completo
     *
     * @return string HTML del dashboard
     */
    public function render(): string;

    /**
     * Verifica si el renderizador soporta un tipo de vista
     *
     * @param string $viewType Tipo de vista (dashboard, settings, etc.)
     * @return bool
     */
    public function supports(string $viewType): bool;
}
