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

#pragma once

// Forward declarations of C++ defined types
// Forward declaration of `HybridEspProvToolkitSpec` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { class HybridEspProvToolkitSpec; }
// Forward declaration of `PTBooleanResult` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTBooleanResult; }
// Forward declaration of `PTDeviceResult` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTDeviceResult; }
// Forward declaration of `PTDevice` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTDevice; }
// Forward declaration of `PTError` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { enum class PTError; }
// Forward declaration of `PTLocationAccess` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { enum class PTLocationAccess; }
// Forward declaration of `PTProvisionResult` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTProvisionResult; }
// Forward declaration of `PTResult` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTResult; }
// Forward declaration of `PTSearchResult` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTSearchResult; }
// Forward declaration of `PTSecurity` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { enum class PTSecurity; }
// Forward declaration of `PTSessionResult` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTSessionResult; }
// Forward declaration of `PTSessionStatus` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { enum class PTSessionStatus; }
// Forward declaration of `PTStringResult` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTStringResult; }
// Forward declaration of `PTTransport` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { enum class PTTransport; }
// Forward declaration of `PTWifiEntry` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTWifiEntry; }
// Forward declaration of `PTWifiScanResult` to properly resolve imports.
namespace margelo::nitro::espprovtoolkit { struct PTWifiScanResult; }

// Include C++ defined types
#include "HybridEspProvToolkitSpec.hpp"
#include "PTBooleanResult.hpp"
#include "PTDevice.hpp"
#include "PTDeviceResult.hpp"
#include "PTError.hpp"
#include "PTLocationAccess.hpp"
#include "PTProvisionResult.hpp"
#include "PTResult.hpp"
#include "PTSearchResult.hpp"
#include "PTSecurity.hpp"
#include "PTSessionResult.hpp"
#include "PTSessionStatus.hpp"
#include "PTStringResult.hpp"
#include "PTTransport.hpp"
#include "PTWifiEntry.hpp"
#include "PTWifiScanResult.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 "EspProvToolkit-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 `HybridEspProvToolkitSpec_cxx` to properly resolve imports.
namespace EspProvToolkit { class HybridEspProvToolkitSpec_cxx; }

// Include Swift defined types
#if __has_include("EspProvToolkit-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 "EspProvToolkit".
#include "EspProvToolkit-Swift.h"
// Same as above, but used when building with frameworks (`use_frameworks`)
#elif __has_include(<EspProvToolkit/EspProvToolkit-Swift.h>)
#include <EspProvToolkit/EspProvToolkit-Swift.h>
#else
#error EspProvToolkit's autogenerated Swift header cannot be found! Make sure the Swift module's name (= podspec name) is actually "EspProvToolkit", and try building the app first.
#endif
