<?php
/**
 * Generator base.
 *
 * @package Harbor_EU_EInvoicing_For_WooCommerce
 */

defined( 'ABSPATH' ) || exit;

abstract class HEIN_Generator {

	/**
	 * Returns [ 'content' => string, 'mime' => string, 'extension' => string ]: the bytes and
	 * their true type in one call, so a PDF-bearing generator cannot be stored or streamed as XML
	 */
	abstract public function render( array $invoice ): array;

	abstract public static function label(): string;

	public static function supports( array $invoice ): bool {
		return true;
	}
}
