/**
 * @mergeTarget
 * @module Src/Parameters/Boolean
 */
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 LisioBooleanParameterNames {
    VOCA = "voca",
    SHOW_ALT = "show_alt",
    HIGHLIGHT = "highlight",
    DISABLE_ANIMATION = "disable_animation",
    KEYBOARD_NAVIGATION = "keyboard_navigation",
    READING_MASK = "reading_mask",
    SPEECH_SYNTHESIS_STATE = "speech_synthesis_state",
    LIST = "list",
    BOOK_PAGE = "book_page",
    IS_ACTIVE = "is_active",
    ACTIVE_UNDERLINE = "active_underline",
    READING_MODE = "reading_mode"
}
/**
 * ## How to create a new (boolean) parameter ? Part 2
 *
 * To create a new boolean parameter is very easy, choose a revelant name and add it to {@link LisioBooleanParameterNames | LisioBooleanParameterNames}.\
 *
 * ## How to create a new (boolean) parameter ? Part 2
 *
 * If you want to rename it, choose a new revelant name and modify the old one in {@link LisioBooleanParameterNames | LisioBooleanParameterNames}.\
 * 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 (boolean) parameter ? Part 2
 *
 * Delete his name from {@link LisioBooleanParameterNames | LisioBooleanParameterNames}.\
 *
 * ## Documentation
 *
 * Class representing a boolean parameter extending LisioParameter.\
 * It aims to centralize all the logic of boolean parameter.\
 * To execute his responsability this class does :
 *  * Saves name and value of boolean parameter
 */
declare class LisioBooleanParameter extends LisioParameter {
    /**
     * Protected attribute to store value of parameter
     * @source
     */
    protected _value: boolean;
    /**
     * Protected attribute to store default value of parameter
     * @source
     */
    protected _defaultValue: boolean;
    /**
     * Getter for attribute {@link _value | _value}
     * @returns Returns _value attribute
     * @source
     */
    get value(): boolean;
    /**
     * Getter for attribute {@link _defaultValue | _defaultValue}
     * @returns Returns _defaultValue attribute
     * @source
     */
    get defaultValue(): boolean;
    /**
     * Constructor of class {@link LisioBooleanParameter | LisioBooleanParameter}
     * @param {LisioBooleanParameterNames} name - Parameter name
     * @param {number} value - Parameter value
     * @source
     */
    constructor(name: LisioBooleanParameterNames, value: boolean);
}
export { LisioBooleanParameter, LisioBooleanParameterNames };
