<?php
declare(strict_types=1);

namespace FreshCloud\Mail\Log;

interface Logger
{
    public function write(LogType $level, string $message, array $context = []): void;
    public function audit(string $action, array $context = []): void;
    public function flush(): void;
    public function getRecentActivity(string $userId, int $limit = 50): array;
    public function getRecentErrors(string $userId, \DateTimeInterface $since): array;
    public function addDriver(Driver $driver): void;

    public function log(string $event, array $context = []): void;
}