<?php

declare(strict_types=1);

namespace App\Support\Print\Contracts;

use Illuminate\Contracts\Auth\Authenticatable;

interface DberpDocumentPrintPresenter
{
    public function documentKey(): string;

    public function userCanPrint(?Authenticatable $user): bool;

    /**
     * @return array<string, mixed>
     */
    public function prepareViewData(int|string $recordId): array;
}
