///
/// ReactNativeCandle-Swift-Cxx-Umbrella.hpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © 2025 Marc Rousavy @ Margelo
///

#pragma once

// Forward declarations of C++ defined types
// Forward declaration of `ACHAccountKind` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class ACHAccountKind; }
// Forward declaration of `ACHDetails` to properly resolve imports.
namespace margelo::nitro::rncandle { struct ACHDetails; }
// Forward declaration of `ActiveLinkedAccountDetails` to properly resolve imports.
namespace margelo::nitro::rncandle { struct ActiveLinkedAccountDetails; }
// Forward declaration of `Address` to properly resolve imports.
namespace margelo::nitro::rncandle { struct Address; }
// Forward declaration of `AssetAccountKind` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class AssetAccountKind; }
// Forward declaration of `AssetAccountRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct AssetAccountRef; }
// Forward declaration of `AssetAccount` to properly resolve imports.
namespace margelo::nitro::rncandle { struct AssetAccount; }
// Forward declaration of `AssetAccountsQuery` to properly resolve imports.
namespace margelo::nitro::rncandle { struct AssetAccountsQuery; }
// Forward declaration of `AssetAccountsResponse` to properly resolve imports.
namespace margelo::nitro::rncandle { struct AssetAccountsResponse; }
// Forward declaration of `Coordinates` to properly resolve imports.
namespace margelo::nitro::rncandle { struct Coordinates; }
// Forward declaration of `CounterpartyKind` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class CounterpartyKind; }
// Forward declaration of `CounterpartyQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct CounterpartyQuoteRequest; }
// Forward declaration of `Counterparty` to properly resolve imports.
namespace margelo::nitro::rncandle { struct Counterparty; }
// Forward declaration of `FiatAccount` to properly resolve imports.
namespace margelo::nitro::rncandle { struct FiatAccount; }
// Forward declaration of `FiatAssetQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct FiatAssetQuoteRequest; }
// Forward declaration of `FiatAssetRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct FiatAssetRef; }
// Forward declaration of `FiatAsset` to properly resolve imports.
namespace margelo::nitro::rncandle { struct FiatAsset; }
// Forward declaration of `FiatMarketAccountKind` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class FiatMarketAccountKind; }
// Forward declaration of `HybridRNCandleSpec` to properly resolve imports.
namespace margelo::nitro::rncandle { class HybridRNCandleSpec; }
// Forward declaration of `InactiveLinkedAccountDetails` to properly resolve imports.
namespace margelo::nitro::rncandle { struct InactiveLinkedAccountDetails; }
// Forward declaration of `LinkedAccountDetails` to properly resolve imports.
namespace margelo::nitro::rncandle { struct LinkedAccountDetails; }
// Forward declaration of `LinkedAccountRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct LinkedAccountRef; }
// Forward declaration of `LinkedAccountState` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class LinkedAccountState; }
// Forward declaration of `LinkedAccountStatusRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct LinkedAccountStatusRef; }
// Forward declaration of `LinkedAccount` to properly resolve imports.
namespace margelo::nitro::rncandle { struct LinkedAccount; }
// Forward declaration of `MarketAccount` to properly resolve imports.
namespace margelo::nitro::rncandle { struct MarketAccount; }
// Forward declaration of `MarketAssetKind` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class MarketAssetKind; }
// Forward declaration of `MarketAssetQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct MarketAssetQuoteRequest; }
// Forward declaration of `MarketTradeAssetRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct MarketTradeAssetRef; }
// Forward declaration of `MarketTradeAsset` to properly resolve imports.
namespace margelo::nitro::rncandle { struct MarketTradeAsset; }
// Forward declaration of `MerchantCounterpartyQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct MerchantCounterpartyQuoteRequest; }
// Forward declaration of `MerchantCounterparty` to properly resolve imports.
namespace margelo::nitro::rncandle { struct MerchantCounterparty; }
// Forward declaration of `MerchantLocation` to properly resolve imports.
namespace margelo::nitro::rncandle { struct MerchantLocation; }
// Forward declaration of `NothingAssetQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct NothingAssetQuoteRequest; }
// Forward declaration of `NothingAssetRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct NothingAssetRef; }
// Forward declaration of `NothingAsset` to properly resolve imports.
namespace margelo::nitro::rncandle { struct NothingAsset; }
// Forward declaration of `OtherAssetQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct OtherAssetQuoteRequest; }
// Forward declaration of `OtherAssetRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct OtherAssetRef; }
// Forward declaration of `OtherAsset` to properly resolve imports.
namespace margelo::nitro::rncandle { struct OtherAsset; }
// Forward declaration of `PresentationBackground` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class PresentationBackground; }
// Forward declaration of `PresentationStyle` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class PresentationStyle; }
// Forward declaration of `ServiceCounterpartyQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct ServiceCounterpartyQuoteRequest; }
// Forward declaration of `ServiceCounterparty` to properly resolve imports.
namespace margelo::nitro::rncandle { struct ServiceCounterparty; }
// Forward declaration of `Service` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class Service; }
// Forward declaration of `TradeAssetKind` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class TradeAssetKind; }
// Forward declaration of `TradeAssetQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradeAssetQuoteRequest; }
// Forward declaration of `TradeAssetRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradeAssetRef; }
// Forward declaration of `TradeAsset` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradeAsset; }
// Forward declaration of `TradeExecutionResult` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradeExecutionResult; }
// Forward declaration of `TradeQuote` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradeQuote; }
// Forward declaration of `TradeQuotesRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradeQuotesRequest; }
// Forward declaration of `TradeQuotesResponse` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradeQuotesResponse; }
// Forward declaration of `TradeRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradeRef; }
// Forward declaration of `TradeState` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class TradeState; }
// Forward declaration of `Trade` to properly resolve imports.
namespace margelo::nitro::rncandle { struct Trade; }
// Forward declaration of `TradesQuery` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradesQuery; }
// Forward declaration of `TradesResponse` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TradesResponse; }
// Forward declaration of `TransportAccountKind` to properly resolve imports.
namespace margelo::nitro::rncandle { enum class TransportAccountKind; }
// Forward declaration of `TransportAccount` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TransportAccount; }
// Forward declaration of `TransportAssetQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TransportAssetQuoteRequest; }
// Forward declaration of `TransportAssetRef` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TransportAssetRef; }
// Forward declaration of `TransportAsset` to properly resolve imports.
namespace margelo::nitro::rncandle { struct TransportAsset; }
// Forward declaration of `UnavailableLinkedAccountDetails` to properly resolve imports.
namespace margelo::nitro::rncandle { struct UnavailableLinkedAccountDetails; }
// Forward declaration of `UserCounterpartyQuoteRequest` to properly resolve imports.
namespace margelo::nitro::rncandle { struct UserCounterpartyQuoteRequest; }
// Forward declaration of `UserCounterparty` to properly resolve imports.
namespace margelo::nitro::rncandle { struct UserCounterparty; }
// Forward declaration of `WireDetails` to properly resolve imports.
namespace margelo::nitro::rncandle { struct WireDetails; }

// Include C++ defined types
#include "ACHAccountKind.hpp"
#include "ACHDetails.hpp"
#include "ActiveLinkedAccountDetails.hpp"
#include "Address.hpp"
#include "AssetAccount.hpp"
#include "AssetAccountKind.hpp"
#include "AssetAccountRef.hpp"
#include "AssetAccountsQuery.hpp"
#include "AssetAccountsResponse.hpp"
#include "Coordinates.hpp"
#include "Counterparty.hpp"
#include "CounterpartyKind.hpp"
#include "CounterpartyQuoteRequest.hpp"
#include "FiatAccount.hpp"
#include "FiatAsset.hpp"
#include "FiatAssetQuoteRequest.hpp"
#include "FiatAssetRef.hpp"
#include "FiatMarketAccountKind.hpp"
#include "HybridRNCandleSpec.hpp"
#include "InactiveLinkedAccountDetails.hpp"
#include "LinkedAccount.hpp"
#include "LinkedAccountDetails.hpp"
#include "LinkedAccountRef.hpp"
#include "LinkedAccountState.hpp"
#include "LinkedAccountStatusRef.hpp"
#include "MarketAccount.hpp"
#include "MarketAssetKind.hpp"
#include "MarketAssetQuoteRequest.hpp"
#include "MarketTradeAsset.hpp"
#include "MarketTradeAssetRef.hpp"
#include "MerchantCounterparty.hpp"
#include "MerchantCounterpartyQuoteRequest.hpp"
#include "MerchantLocation.hpp"
#include "NothingAsset.hpp"
#include "NothingAssetQuoteRequest.hpp"
#include "NothingAssetRef.hpp"
#include "OtherAsset.hpp"
#include "OtherAssetQuoteRequest.hpp"
#include "OtherAssetRef.hpp"
#include "PresentationBackground.hpp"
#include "PresentationStyle.hpp"
#include "Service.hpp"
#include "ServiceCounterparty.hpp"
#include "ServiceCounterpartyQuoteRequest.hpp"
#include "Trade.hpp"
#include "TradeAsset.hpp"
#include "TradeAssetKind.hpp"
#include "TradeAssetQuoteRequest.hpp"
#include "TradeAssetRef.hpp"
#include "TradeExecutionResult.hpp"
#include "TradeQuote.hpp"
#include "TradeQuotesRequest.hpp"
#include "TradeQuotesResponse.hpp"
#include "TradeRef.hpp"
#include "TradeState.hpp"
#include "TradesQuery.hpp"
#include "TradesResponse.hpp"
#include "TransportAccount.hpp"
#include "TransportAccountKind.hpp"
#include "TransportAsset.hpp"
#include "TransportAssetQuoteRequest.hpp"
#include "TransportAssetRef.hpp"
#include "UnavailableLinkedAccountDetails.hpp"
#include "UserCounterparty.hpp"
#include "UserCounterpartyQuoteRequest.hpp"
#include "WireDetails.hpp"
#include <NitroModules/Promise.hpp>
#include <NitroModules/Result.hpp>
#include <exception>
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <vector>

// C++ helpers for Swift
#include "ReactNativeCandle-Swift-Cxx-Bridge.hpp"

// Common C++ types used in Swift
#include <NitroModules/ArrayBufferHolder.hpp>
#include <NitroModules/AnyMapUtils.hpp>
#include <NitroModules/RuntimeError.hpp>
#include <NitroModules/DateToChronoDate.hpp>

// Forward declarations of Swift defined types
// Forward declaration of `HybridRNCandleSpec_cxx` to properly resolve imports.
namespace ReactNativeCandle { class HybridRNCandleSpec_cxx; }

// Include Swift defined types
#if __has_include("ReactNativeCandle-Swift.h")
// This header is generated by Xcode/Swift on every app build.
// If it cannot be found, make sure the Swift module's name (= podspec name) is actually "ReactNativeCandle".
#include "ReactNativeCandle-Swift.h"
// Same as above, but used when building with frameworks (`use_frameworks`)
#elif __has_include(<ReactNativeCandle/ReactNativeCandle-Swift.h>)
#include <ReactNativeCandle/ReactNativeCandle-Swift.h>
#else
#error ReactNativeCandle's autogenerated Swift header cannot be found! Make sure the Swift module's name (= podspec name) is actually "ReactNativeCandle", and try building the app first.
#endif
