/**
 * @mergeTarget
 * @module Src/Parameters/Numeric
 */
import { LisioParameter } from "./lisio-parameter.js";
/**
 * Enumerator for all numeric parameters availables in Lisio
 * Please names new parameters as following :
 * ```
 * MY_NAME : "my_name"
 * ```
 * @source
 */
declare enum LisioNumericParameterNames {
    FONT_SIZE = "font_size",
    LINE_HEIGHT = "line_height",
    WORD_SPACING = "word_spacing",
    LETTER_SPACING = "letter_spacing",
    CONTRAST = "contrast",
    ZOOM = "zoom",
    BIGGER_CLICK = "bigger_click",
    SPEECH_SYNTHESIS_PITCH = "speech_synthesis_pitch",
    SPEECH_SYNTHESIS_RATE = "speech_synthesis_rate",
    DALTONISM_R = "daltonism_r",
    DALTONISM_G = "daltonism_g",
    DALTONISM_B = "daltonism_b",
    DALTONISM_HUE = "daltonism_hue",
    DALTONISM_SATURATION = "daltonism_saturation",
    DALTONISM_BRIGHTNESS = "daltonism_brightness"
}
/**
 * Default value of all parameters
 * @source
 */
declare const defautValueOfNumericParameters: Map<LisioNumericParameterNames, number>;
/**
 * ## How to create a new (numeric) parameter ? Part 2
 *
 * To create a new numeric parameter is very easy. To begin, choose a revelant name and add it to {@link LisioNumericParameterNames | LisioNumericParameterNames}.\
 * Next you have to add default value for parameter in {@link defautValueOfNumericParameters | defautValueOfNumericParameters}
 *
 * ## How to create a new (numeric) parameter ? Part 2
 *
 * If you want to rename it, choose a new revelant name and modify the old one in {@link LisioNumericParameterNames | LisioNumericParameterNames}.\
 * If you want change his type, see "How to delete" for current parameter and "How to create a new parameter" for new parameter.\
 *
 * ## How to delete a (numeric) parameter ? Part 2
 *
 * Delete his name from {@link LisioNumericParameterNames | LisioNumericParameterNames}.\
 *
 * ## Documentation
 *
 * Class representing a numeric parameter extending LisioParameter.\
 * It aims to centralize all the logic of numeric parameter.\
 * To execute his responsability this class does :
 *  * Saves name and value of numeric parameter
 */
declare class LisioNumericParameter extends LisioParameter {
    /**
     * Protected attribute to store value of parameter
     * @source
     */
    protected _value: number;
    /**
     * Protected attribute to store default value of parameter
     * @source
     */
    protected _defaultValue: number;
    /**
     * Getter for attribute {@link _value | _value}
     * @returns Returns _value attribute
     * @source
     */
    get value(): number;
    /**
     * Getter for attribute {@link _defaultValue | _defaultValue}
     * @returns Returns _defaultValue attribute
     * @source
     */
    get defaultValue(): number;
    /**
     * Constructor of class {@link LisioNumericParameter | LisioNumericParameter}
     * @param {LisioNumericParameterNames} name - Parameter name
     * @param {number} value - Parameter value
     * @source
     */
    constructor(name: LisioNumericParameterNames, value: number);
}
export { LisioNumericParameter, LisioNumericParameterNames, defautValueOfNumericParameters, };
