<?php

namespace MintyPHP\Repository\User;

/** Contract for linking external identity provider accounts (OIDC) to users. */
interface UserExternalIdentityRepositoryInterface
{
    public function findByProviderTidOid(string $provider, string $tid, string $oid): ?array;

    public function findByProviderIssuerSubject(string $provider, string $issuer, string $subject): ?array;

    public function createLink(array $data): mixed;
}
