<?php
declare(strict_types=1);

namespace Ekesto\CacheInvalidator\Integrations\Forms;

/**
 * Optional contract for adapters that can expand equivalent form identifiers.
 */
interface FormIdentifierAliasProviderInterface
{
    /**
     * Expand a changed form identifier to equivalent aliases used in content.
     *
     * Example: numeric post ID and hash-based public ID representations.
     *
     * @param string|int          $formId Changed form identifier.
     * @param array<string,mixed> $context Event context from adapter dispatch.
     * @return string[] Identifier aliases including the original identifier when possible.
     */
    public function expandTargetIdentifiers($formId, array $context = []): array;
}
