| 
<?phpdeclare(strict_types=1);
 namespace ParagonIE\Paserk\Operations;
 
 use ParagonIE\Paseto\{
 KeyInterface,
 ProtocolInterface
 };
 
 /**
 * Interface WrapInterface
 * @package ParagonIE\Paserk\Operations
 */
 interface WrapInterface
 {
 /**
 * Returns a custom ID ([A-Za-z0-9\-]+) for the encryption format.
 *
 * @return string
 */
 public static function customId(): string;
 
 /**
 * @return ProtocolInterface
 */
 public function getProtocol(): ProtocolInterface;
 
 /**
 * @param string $header
 * @param KeyInterface $key
 * @return string
 */
 public function wrapKey(string $header, KeyInterface $key): string;
 
 /**
 * @param string $wrapped
 * @return KeyInterface
 */
 public function unwrapKey(string $wrapped): KeyInterface;
 }
 
 |