<?php
declare(strict_types=1);

namespace Ekesto\CacheInvalidator\Integrations\Multilingual;

/**
 * Exposes resolver identity and translation model metadata.
 */
interface ResolverMetadataInterface
{
    public const MODEL_OBJECT = 'object';
    public const MODEL_URL = 'url';

    /**
     * Returns a stable resolver key used in emitted context metadata.
     *
     * Example keys: `wpml`, `polylang`, `translatepress`.
     *
     * @return string
     */
    public function getResolverKey(): string;

    /**
     * Returns the resolver translation model.
     *
     * Allowed values:
     * - `ResolverMetadataInterface::MODEL_OBJECT`
     * - `ResolverMetadataInterface::MODEL_URL`
     *
     * @return string
     */
    public function getTranslationModel(): string;
}
