import { LisioParameterNames, LisioParameter } from "./lisio-parameter.js";
/**
 * Class representing a parameter factory.\
 * It aims to centralize all instanciation of parameters.\
 * To execute his responsability this class does :
 *  * Build a parameter with right corresponding value
 */
declare class LisioParameterFactory {
    /**
     * @static
     * Private attribute to store instance of {@link LisioParameterFactory | LisioParameterFactory}
     * @source
     */
    private static _current;
    /**
     * @static
     * Getter for attribute {@link _current | _current}
     * @returns Returns _current attribute
     * @source
     */
    static get current(): LisioParameterFactory;
    /**
     * Private method to build a boolean parameter
     * @returns Returns a boolean parameter
     * @source
     */
    private buildLisioBooleanParameter;
    /**
     * Private method to build a numeric parameter
     * @returns Returns a numeric parameter
     * @source
     */
    private buildLisioNumberParameter;
    /**
     * Private method to build a string parameter
     * @returns Returns a string parameter
     * @source
     */
    private buildLisioStringParameter;
    /**
     * Public method to build parameters
     * @param {LisioParameterNames} parameterName - Paramater name
     * @param {string | number | boolean} value - Value of parameter
     * @throws If parameter doesn't exist or value not corresponding.\
     * See {@link Src/Utils.LisioProfilErrorCodes.WRONG_PARAMETER | LisioProfilErrorCodes.WRONG_PARAMETER}
     * @returns Returns desired parameter
     * @source
     */
    buildLisioParameter(parameterName: LisioParameterNames, value: string | number | boolean): LisioParameter;
    /**
     * Constructor of class {@link LisioParameterFactory | LisioParameterFactory}
     * @throws If singleton already initialize.\
     * See {@link https://env-preprod-docs.lisio.fr/lisio-engine/enums/Src_Core.CoreErrorCodes.html#SINGLETON_NOT_UNIQUE | CoreErrorCodes.SINGLETON_NOT_UNIQUE}
     * @source
     */
    constructor();
}
export { LisioParameterFactory };
