/// <summary>
 /// Adds a property to the labeled utterance.
 /// </summary>
 /// <param name="instance">Labeled utterance instance.</param>
 /// <param name="propertyName">Property name.</param>
 /// <param name="propertyValue">Property value.</param>
 /// <returns>Labeled utterance with additional property.</returns>
 public static ILabeledUtterance WithProperty(this ILabeledUtterance instance, string propertyName, object propertyValue)
 {
     return(instance.WithProperty(propertyName, propertyValue, ToJsonExtension));
 }
 /// <summary>
 /// Adds a confidence score for the text transcription to the labeled utterance.
 /// </summary>
 /// <param name="instance">Labeled utterance instance.</param>
 /// <param name="textScore">Confidence score.</param>
 /// <returns>Labeled utterance with transcription confidence score.</returns>
 public static ILabeledUtterance WithTextScore(this ILabeledUtterance instance, double?textScore)
 {
     return(instance.WithProperty(TextScorePropertyName, textScore));
 }
 /// <summary>
 /// Adds a timestamp to the labeled utterance.
 /// </summary>
 /// <param name="instance">Labeled utterance instance.</param>
 /// <param name="timestamp">Timestamp.</param>
 /// <returns>Labeled utterance with timestamp.</returns>
 public static ILabeledUtterance WithTimestamp(this ILabeledUtterance instance, DateTimeOffset?timestamp)
 {
     return(instance.WithProperty(TimestampPropertyName, timestamp));
 }
 /// <summary>
 /// Adds a confidence score for the intent label to the labeled utterance.
 /// </summary>
 /// <param name="instance">Labeled utterance instance.</param>
 /// <param name="score">Confidence score.</param>
 /// <returns>Labeled utterance with intent confidence score.</returns>
 public static ILabeledUtterance WithScore(this ILabeledUtterance instance, double?score)
 {
     return(instance.WithProperty(ScorePropertyName, score));
 }