<?php

declare(strict_types=1);

namespace App\Framework\View\Caching;

use App\Framework\View\RenderContext;

interface SmartCache
{
    public function isEnabled(): bool;

    public function render(RenderContext $context, callable $fallbackRenderer): string;

    public function invalidateCache(?string $template = null): int;

    public function getCacheStats(): array;
}
