public interface IExternalIdentifierService
{
    Task<Guid?> ResolveInternalIdAsync(
        ExternalResourceType resourceType, string system, string value);

    Task LinkAsync(
        ExternalResourceType resourceType, Guid internalId, string system, string value);

    Task<(string System, string Value)?> FindPrimaryIdentifierAsync(
        ExternalResourceType resourceType, Guid internalId, string[] acceptedSystems);
}