import { CommunicationEventData } from "./communication-event" ; /**
 * IoState event.
 *
 * This event is internally emitted by the observable returned by
 * `CommunicationManager.observeIoState`.
 */ export class IoStateEvent { /**
     * Gets the data of this event.
     */ get data ( ) { return this . _eventData ; } private _eventData : IoStateEventData ; internal constructor ( eventData ) { this . _eventData = eventData ; } internal param hasAssociations param updateRate static with ( hasAssociations , updateRate ? ) { return new IoStateEvent ( new IoStateEventData ( hasAssociations , updateRate ) ) ; } } /**
 * Defines event data format for association/disassociation related to a
 * specific IO source/actor.
 *
 * This data is emitted by the observable returned by
 * `CommunicationManager.observeIoState`.
 */ export class IoStateEventData extends CommunicationEventData { private _hasAssociations : boolean ; private _updateRate : number = undefined ; internal param hasAssociations param updateRate constructor ( hasAssociations , updateRate ? ) { super ( ) ; this . _hasAssociations = hasAssociations ; this . _updateRate = updateRate ; } /**
     * Determines whether the related IO source/actor has associations.
     */ get hasAssociations ( ) { return this . _hasAssociations ; } /**
     * The recommended update rate (in millis) for publishing IO source values
     * (optional).
     *
     * The value is only specified for association events that are observed by
     * an IO source; otherwise undefined.
     */ get updateRate ( ) { return this . _updateRate ; } toJsonObject ( ) { return { hasAssociations : this . _hasAssociations , updateRate : this . _updateRate , } ; } }