<?php
/**
 * @package Hafenstudios\Kurato
 */

namespace Hafenstudios\Kurato\Cockpit;

defined( 'ABSPATH' ) || exit;

/**
 * Injizierbarer HTTP-Ausgang. In Produktion wp_remote_post (WpHttpClient), in
 * Tests mockbar. Haelt die Pairing-Logik von WordPress unabhaengig.
 */
interface HttpClient {

	/**
	 * Sendet einen POST-Request.
	 *
	 * @param string               $url  Ziel-URL.
	 * @param array<string, mixed> $args wp_remote_post-Argumente (headers, body, timeout).
	 * @return array{status: int, body: string}|\WP_Error
	 */
	public function post( string $url, array $args );
}
