///
/// AccessibilitySettings.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 `AccessibilitySettings`, backed by a C++ struct.
 */
public typealias AccessibilitySettings = margelo.nitro.stylesheet.AccessibilitySettings

public extension AccessibilitySettings {
  private typealias bridge = margelo.nitro.stylesheet.bridge.swift

  /**
   * Create a new instance of `AccessibilitySettings`.
   */
  init(isReduceMotionEnabled: Bool?, isReduceTransparencyEnabled: Bool?, isDifferentiateWithoutColorEnabled: Bool?, isInvertColorsEnabled: Bool?, isShowButtonShapesEnabled: Bool?, isBoldTextEnabled: Bool?, isVoiceOverEnabled: Bool?, isSwitchControlEnabled: Bool?, isVideoAutoplayEnabled: Bool?, isClosedCaptioningEnabled: Bool?, prefersCrossFadeTransitions: Bool?, isGrayscaleEnabled: Bool?, isDarkerSystemColorsEnabled: Bool?, isMonoAudioEnabled: Bool?, isShakeToUndoEnabled: Bool?, isSpeakScreenEnabled: Bool?, isSpeakSelectionEnabled: Bool?, isOnOffSwitchLabelsEnabled: Bool?) {
    self.init({ () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isReduceMotionEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isReduceTransparencyEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isDifferentiateWithoutColorEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isInvertColorsEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isShowButtonShapesEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isBoldTextEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isVoiceOverEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isSwitchControlEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isVideoAutoplayEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isClosedCaptioningEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = prefersCrossFadeTransitions {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isGrayscaleEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isDarkerSystemColorsEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isMonoAudioEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isShakeToUndoEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isSpeakScreenEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isSpeakSelectionEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }(), { () -> bridge.std__optional_bool_ in
      if let __unwrappedValue = isOnOffSwitchLabelsEnabled {
        return bridge.create_std__optional_bool_(__unwrappedValue)
      } else {
        return .init()
      }
    }())
  }

  var isReduceMotionEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isReduceMotionEnabled.value
    }
    @inline(__always)
    set {
      self.__isReduceMotionEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isReduceTransparencyEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isReduceTransparencyEnabled.value
    }
    @inline(__always)
    set {
      self.__isReduceTransparencyEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isDifferentiateWithoutColorEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isDifferentiateWithoutColorEnabled.value
    }
    @inline(__always)
    set {
      self.__isDifferentiateWithoutColorEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isInvertColorsEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isInvertColorsEnabled.value
    }
    @inline(__always)
    set {
      self.__isInvertColorsEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isShowButtonShapesEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isShowButtonShapesEnabled.value
    }
    @inline(__always)
    set {
      self.__isShowButtonShapesEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isBoldTextEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isBoldTextEnabled.value
    }
    @inline(__always)
    set {
      self.__isBoldTextEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isVoiceOverEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isVoiceOverEnabled.value
    }
    @inline(__always)
    set {
      self.__isVoiceOverEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isSwitchControlEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isSwitchControlEnabled.value
    }
    @inline(__always)
    set {
      self.__isSwitchControlEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isVideoAutoplayEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isVideoAutoplayEnabled.value
    }
    @inline(__always)
    set {
      self.__isVideoAutoplayEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isClosedCaptioningEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isClosedCaptioningEnabled.value
    }
    @inline(__always)
    set {
      self.__isClosedCaptioningEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var prefersCrossFadeTransitions: Bool? {
    @inline(__always)
    get {
      return self.__prefersCrossFadeTransitions.value
    }
    @inline(__always)
    set {
      self.__prefersCrossFadeTransitions = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isGrayscaleEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isGrayscaleEnabled.value
    }
    @inline(__always)
    set {
      self.__isGrayscaleEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isDarkerSystemColorsEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isDarkerSystemColorsEnabled.value
    }
    @inline(__always)
    set {
      self.__isDarkerSystemColorsEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isMonoAudioEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isMonoAudioEnabled.value
    }
    @inline(__always)
    set {
      self.__isMonoAudioEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isShakeToUndoEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isShakeToUndoEnabled.value
    }
    @inline(__always)
    set {
      self.__isShakeToUndoEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isSpeakScreenEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isSpeakScreenEnabled.value
    }
    @inline(__always)
    set {
      self.__isSpeakScreenEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isSpeakSelectionEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isSpeakSelectionEnabled.value
    }
    @inline(__always)
    set {
      self.__isSpeakSelectionEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
  
  var isOnOffSwitchLabelsEnabled: Bool? {
    @inline(__always)
    get {
      return self.__isOnOffSwitchLabelsEnabled.value
    }
    @inline(__always)
    set {
      self.__isOnOffSwitchLabelsEnabled = { () -> bridge.std__optional_bool_ in
        if let __unwrappedValue = newValue {
          return bridge.create_std__optional_bool_(__unwrappedValue)
        } else {
          return .init()
        }
      }()
    }
  }
}
