<?php

namespace Fgm\ComposerCheck;

/**
 * Interface LoaderInterface defined the Loader classes contract.
 */
interface LoaderInterface {

  /**
   * LoaderInterface constructor.
   *
   * @param string $directory
   *   The directory from which to load a composer file.
   */
  public function __construct(string $directory);

  /**
   * Get the dev packages array.
   *
   * @return mixed
   *   An array of requirements, indexed by lower-cased requirement name.
   */
  public function getDev();

  /**
   * Get the run-time packages array.
   *
   * @return mixed
   *   An array of requirements, indexed by lower-cased requirement name.
   */
  public function getRun();

  /**
   * Load the file.
   */
  public function load();

}