<?php

declare(strict_types=1);

namespace App\Framework\EventSourcing\Snapshots;

use App\Framework\EventSourcing\AggregateRoot;

/**
 * Snapshot Strategy Interface
 *
 * Determines when to create snapshots
 */
interface SnapshotStrategy
{
    /**
     * Should a snapshot be taken for this aggregate?
     */
    public function shouldTakeSnapshot(AggregateRoot $aggregate): bool;
}
