1<?php
2
3declare(strict_types=1);
4
5namespace Metadata\Cache;
6
7use Metadata\ClassMetadata;
8
9interface CacheInterface
10{
11    /**
12     * Loads a class metadata instance from the cache
13     */
14    public function load(string $class): ?ClassMetadata;
15
16    /**
17     * Puts a class metadata instance into the cache
18     */
19    public function put(ClassMetadata $metadata): void;
20
21    /**
22     * Evicts the class metadata for the given class from the cache.
23     */
24    public function evict(string $class): void;
25}
26