<?php
/**
 * Future response action contract.
 *
 * @package LocalGuardScanner
 */

namespace LocalGuardScanner\Domain\Response;

use LocalGuardScanner\Domain\Detection\Finding;

/**
 * Response actions remain separate from detection.
 */
interface ResponseAction {
	/** @return string */
	public function id();

	/** @param Finding $finding Finding. @return bool */
	public function supports( Finding $finding ): bool;

	/**
	 * Execute a non-destructive response.
	 *
	 * @param Finding $finding Finding.
	 * @return array<string,bool|string>
	 */
	public function execute( Finding $finding ): array;
}
