<?php
/**
 * Variable Processor Interface
 *
 * @package Brandy\DynamicCss
 */

namespace Brandy\DynamicCss;

/**
 * Interface for CSS variable processors
 */
interface VariableProcessorInterface {

	/**
	 * Process variable data and return device-keyed CSS variables
	 *
	 * @param array $variable_data Variable configuration data.
	 * @return array Device-keyed array of CSS variable declarations
	 */
	public function process( array $variable_data ): array;

	/**
	 * Check if this processor supports the given variable type
	 *
	 * @param string $type Variable type identifier.
	 * @return bool True if this processor handles the type
	 */
	public function supports( string $type ): bool;
}
