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

extension UserCounterparty {
  private typealias bridge = margelo.nitro.rncandle.bridge.swift

  /**
   * Create a new instance of `UserCounterparty`.
   */
  public init(kind: String, legalName: String, avatarURL: String, username: String) {
    self.init(std.string(kind), std.string(legalName), std.string(avatarURL), std.string(username))
  }

  public var kind: String {
    @inline(__always)
    get {
      return String(self.__kind)
    }
    @inline(__always)
    set {
      self.__kind = std.string(newValue)
    }
  }

  public var legalName: String {
    @inline(__always)
    get {
      return String(self.__legalName)
    }
    @inline(__always)
    set {
      self.__legalName = std.string(newValue)
    }
  }

  public var avatarURL: String {
    @inline(__always)
    get {
      return String(self.__avatarURL)
    }
    @inline(__always)
    set {
      self.__avatarURL = std.string(newValue)
    }
  }

  public var username: String {
    @inline(__always)
    get {
      return String(self.__username)
    }
    @inline(__always)
    set {
      self.__username = std.string(newValue)
    }
  }
}
