<?php

declare(strict_types=1);

namespace Builder\Core\Tests\Fixtures;

use Builder\Core\Foundation\Concerns\HasTranslatablePublishing;
use Builder\Core\Foundation\Concerns\HasTranslations;
use Builder\Core\Foundation\Contracts\Translatable;
use Illuminate\Database\Eloquent\Model;

/**
 * Static reference for PHPStan: proves that the public-API trait
 * {@see HasTranslatablePublishing} is consumed somewhere. Lives in its
 * own fixture because its publish() method conflicts with
 * HasPublishing::publish() — they target different model shapes.
 *
 * Mirrors the real-world shape: combined with HasTranslations + the
 * Translatable contract (so phpstan-require-implements is satisfied).
 */
final class TranslatablePublishingConsumer extends Model implements Translatable
{
    use HasTranslatablePublishing;
    use HasTranslations;
}
