/**
 * [[ReconnectController]] describes the status about the meeting session connection and makes decisions
 * based on the controller implementation.
 */ export default interface ReconnectController { /**
     * Resets the ReconnectController to its default state.
     */ reset ( ) : void ; param isFirstConnection startedConnectionAttempt ( isFirstConnection ) : void ; /**
     * Indicates whether a connection attempt is already in progress.
     */ hasStartedConnectionAttempt ( ) : boolean ; /**
     * Indicates whether the current connection attempt was the first.
     */ isFirstConnection ( ) : boolean ; /**
     * Disables reconnect until the controller is next reset.
     */ disableReconnect ( ) : void ; /**
     * Cancels any pending retry and disables reconnect. The cancel function supplied to the
     * retryWithBackoff will be called if there was a pending retry.
     */ cancel ( ) : void ; /**
     * Switches the reconnect controller into a mode where it will only restart the
     * peer connection instead of restarting the session starting with the
     * signaling connection.
     */ enableRestartPeerConnection ( ) : void ; returns shouldOnlyRestartPeerConnection ( ) : boolean ; returns retryWithBackoff ( retryFunc , cancelFunc ) : boolean ; /**
     * Clones the controller.
     */ clone ( ) : ReconnectController ; /**
     * Sets the last active external timestamp in milliseconds.
     */ setLastActiveTimestampMs ( timestampMs ) : void ; }