<?php


namespace AutoAdmin\Bundle\Core\Cache;


interface CacheHandlerInterface
{
    /**
     * Get value (parameter permit to chose what to return if nothing is cached)
     */
    public function getValue(bool $generateIfCacheMiss = true): mixed;

    /**
     * Remove cache entry value
     */
    public function deleteValue(): mixed;

    /**
     * Save value in the cache
     */
    public function saveValue(): mixed;

    /**
     * Get value destined to be cached
     */
    public function fetchValue(): mixed;
}