///
/// TextToSpeechVoice.swift
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © 2024 Marc Rousavy @ Margelo
///

import NitroModules

/**
 * Represents an instance of `TextToSpeechVoice`, backed by a C++ struct.
 */
public typealias TextToSpeechVoice = margelo.nitro.nitrotexttospeech.TextToSpeechVoice

public extension TextToSpeechVoice {
  private typealias bridge = margelo.nitro.nitrotexttospeech.bridge.swift

  /**
   * Create a new instance of `TextToSpeechVoice`.
   */
  init(identifier: String, name: String, quality: String, gender: String) {
    self.init(std.string(identifier), std.string(name), std.string(quality), std.string(gender))
  }

  var identifier: String {
    @inline(__always)
    get {
      return String(self.__identifier)
    }
    @inline(__always)
    set {
      self.__identifier = std.string(newValue)
    }
  }
  
  var name: String {
    @inline(__always)
    get {
      return String(self.__name)
    }
    @inline(__always)
    set {
      self.__name = std.string(newValue)
    }
  }
  
  var quality: String {
    @inline(__always)
    get {
      return String(self.__quality)
    }
    @inline(__always)
    set {
      self.__quality = std.string(newValue)
    }
  }
  
  var gender: String {
    @inline(__always)
    get {
      return String(self.__gender)
    }
    @inline(__always)
    set {
      self.__gender = std.string(newValue)
    }
  }
}
