<?php
/**
 * Module interface
 *
 * @package NemtlyBooking
 */

namespace NemtlyBooking\Interfaces;

use NemtlyBooking\Core\Container;

interface Module_Interface {
    /**
     * Initialize the module
     *
     * @since PBOOKING_SINCE
     */
    public function init();

    /**
     * Get module name
     *
     * @since PBOOKING_SINCE
     *
     * @return string Module name.
     */
    public function get_name();

    /**
     * Get module dependencies
     *
     * @since PBOOKING_SINCE
     *
     * @return array Array of module names this module depends on.
     */
    public function get_dependencies();

    /**
     * Check if module is enabled
     *
     * @since PBOOKING_SINCE
     *
     * @return bool True if enabled, false otherwise.
     */
    public function is_enabled();
}
