<?php 

namespace NPS\DependencyInjection;

/**
 * Is able to extract knowledge base name out of a knowledge base
 * @author Lukas Korinek
 */
interface IKnowledgeBaseInfoProvider 
{
    /**
     * Gets a knowledge base name by its file path
     * @param string $path 
     * @return string
     */
    function getKnowledgeBaseName($path);

    /**
     * Gets a knowledge base description by its file path
     * @param string $path 
     * @return string
     */
    function getKnowledgeBaseDescription($path);

    /**
     * Gets default language of the provider
     * @return string Language short (non ISO) string
     */
    function getDefaultLanguage();

    /**
     * Sets default language of the provider
     * @param string $language Language short (non ISO) string
     */
    function setDefaultLanguage($language);

    /**
     * Gets languages supported by a knowledge base
     * @param string $path 
     * @return array
     */
    function getKnowledgeBaseLanguages($path);


}

