<?php

namespace WcElectronInvoice\Providers;

defined( 'ABSPATH' ) || die( 'Not allowed.' );

abstract class ProductsProviderAbstract {

	/**
	 * Get products
	 * @param $args
	 *
	 * @return mixed
	 */
	abstract function getProducts($args = array());

	/**
	 * Get product
	 * @param $product_id
	 *
	 * @return mixed
	 */
	abstract function getProduct($product_id);

	/**
	 * Enqueue the provider
	 *
	 * @return void
	 */
	abstract function enqueue();

	/**
	 * Get the provider name
	 * @return mixed
	 */
	abstract function name();
}
