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

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

  /**
   * Create a new instance of `MerchantLocation`.
   */
  public init(countryCode: String, countrySubdivisionCode: String, localityName: String) {
    self.init(std.string(countryCode), std.string(countrySubdivisionCode), std.string(localityName))
  }

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

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

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