/// <reference path="./sigApi.Property.d.ts" />

declare namespace SigApi {
    interface AlarmConfig {
        /**
         * Returns the name of the Alarm Configuration
         * 
         * @returns {string} AlarmConfig name
         */
        getName(): string
        /**
         * Returns a Property
         * 
         * Adds additional functions to property
         *  * addObserver({Function} callback({any} value)): {string} id
         *    Adds an observer callback to the property and returns an id for later removal
         *    callback parameter value is dependent on Property (see Property.getValue for more details)
         *  * removeObserver({string} id): {boolean}
         *    Removes an observer by its id (return value of addObserver)
         * 
         * @param {string} propertyName Name of the requested Property
         * @returns {Property|undefined} A Property
         */
        getProperty(propertyName: string): Property | undefined
    }
}
