declare namespace SigApi {
    interface Formula {
        /**
         * Returns the factor
         * 
         * @returns {number}
         */
        getFactor(): number
        /**
         * Returns the divisor
         * 
         * @returns {number}
         */
        getDivisor(): number
        /**
         * Returns the offset
         * 
         * @returns {number}
         */
        getOffset(): number
        /**
         * Converts the value
         * 
         * @param {number} value 
         * @returns {number}
         */
        convert(value: number): number
        /**
         * Converts the value back
         * 
         * @param {number} value 
         * @returns {number}
         */
        convertBack(value: number): number
        /**
         * Adds a Observer on Formula
         * 
         * @param {Function} callback 
         * @returns {string} id - the observerId required for removeObserver
         */
        addObserver(callback: (formula: Formula) => void): string
        /**
         * Removes a Observer
         * 
         * @param {string} id - the observerId returned by addObserver
         * @returns {boolean}
         */
        removeObserver(id: string): boolean
    }
}
