<?php

namespace QodeBadgesForWooCommerce\Database;

if ( ! defined( 'ABSPATH' ) ) {
	// Exit if accessed directly.
	exit;
}

/**
 * Interface Qode_Badges_Database_Table_Setup
 *
 * @package QodeBadgesForWooCommerce\Database
 */
interface Qode_Badges_Database_Table_Setup {
	/**
	 * Creates table
	 *
	 * @return mixed
	 */
	public function setup();
	/**
	 * Returns current table version
	 *
	 * @return mixed
	 */
	public function get_version();
	/**
	 * Returns table version that is stored in options
	 * It will be used to determine if we have new table version,
	 * and if we need to update table to the latest version
	 *
	 * @return mixed
	 */
	public function get_stored_version();
	/**
	 * Stores table version to options
	 *
	 * @param $version
	 *
	 * @return mixed
	 */
	public function set_stored_version( $version );
	public function has_new_version();
	public function upgrade();
}
