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

import NitroModules

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

public extension VideoInformation {
  private typealias bridge = margelo.nitro.video.bridge.swift

  /**
   * Create a new instance of `VideoInformation`.
   */
  init(bitrate: Double, width: Double, height: Double, duration: Int64, fileSize: Int64, isHDR: Bool, isLive: Bool, orientation: VideoOrientation) {
    self.init(bitrate, width, height, duration, fileSize, isHDR, isLive, orientation)
  }

  var bitrate: Double {
    @inline(__always)
    get {
      return self.__bitrate
    }
    @inline(__always)
    set {
      self.__bitrate = newValue
    }
  }
  
  var width: Double {
    @inline(__always)
    get {
      return self.__width
    }
    @inline(__always)
    set {
      self.__width = newValue
    }
  }
  
  var height: Double {
    @inline(__always)
    get {
      return self.__height
    }
    @inline(__always)
    set {
      self.__height = newValue
    }
  }
  
  var duration: Int64 {
    @inline(__always)
    get {
      return self.__duration
    }
    @inline(__always)
    set {
      self.__duration = newValue
    }
  }
  
  var fileSize: Int64 {
    @inline(__always)
    get {
      return self.__fileSize
    }
    @inline(__always)
    set {
      self.__fileSize = newValue
    }
  }
  
  var isHDR: Bool {
    @inline(__always)
    get {
      return self.__isHDR
    }
    @inline(__always)
    set {
      self.__isHDR = newValue
    }
  }
  
  var isLive: Bool {
    @inline(__always)
    get {
      return self.__isLive
    }
    @inline(__always)
    set {
      self.__isLive = newValue
    }
  }
  
  var orientation: VideoOrientation {
    @inline(__always)
    get {
      return self.__orientation
    }
    @inline(__always)
    set {
      self.__orientation = newValue
    }
  }
}
