. namespace core; /** * Class shortlink_handler_interface. * * @package core * @copyright 2025 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ interface shortlink_handler_interface { /** * Get the valid link types for this handler. * * @return array */ public function get_valid_linktypes(): array; /** * Handle processing of a shortlink, returning the relevant URL. * * If no valid URL is found, this method should return null. * * @param string $type * @param string $identifier * @return null|\core\url */ public function process_shortlink( string $type, string $identifier, ): ?\core\url; }