<?php
/**
 * View interface for implementing view rendering.
 *
 * @package Awesomemotive\Rewardswp\Interfaces
 * @since 1.0.0
 */

namespace Awesomemotive\Rewardswp\Interfaces;

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

interface ViewInterface {
	/**
	 * Classes must implement a render method.
	 *
	 * Optional args can be passed to the method to change the view content or behavior.
	 * It is recommended to pass $args through wp_parse_args before manipulating the data.
	 *
	 * @since 1.0.0
	 *
	 * @param array $args Optional arguments to pass to the method.
	 *
	 * @return void The method should echo the content.
	 */
	public function render( array $args = [] ): void;
}
