///
/// InappbrowserNitro-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 `BrowserAnimations` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { struct BrowserAnimations; }
// Forward declaration of `BrowserColorScheme` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { enum class BrowserColorScheme; }
// Forward declaration of `BrowserResultType` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { enum class BrowserResultType; }
// Forward declaration of `BrowserShareState` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { enum class BrowserShareState; }
// Forward declaration of `DismissButtonStyle` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { enum class DismissButtonStyle; }
// Forward declaration of `DynamicColor` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { struct DynamicColor; }
// Forward declaration of `FormSheetContentSize` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { struct FormSheetContentSize; }
// Forward declaration of `HybridInappbrowserNitroSpec` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { class HybridInappbrowserNitroSpec; }
// Forward declaration of `InAppBrowserAuthResult` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { struct InAppBrowserAuthResult; }
// Forward declaration of `InAppBrowserOptions` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { struct InAppBrowserOptions; }
// Forward declaration of `InAppBrowserResult` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { struct InAppBrowserResult; }
// Forward declaration of `ModalPresentationStyle` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { enum class ModalPresentationStyle; }
// Forward declaration of `ModalTransitionStyle` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { enum class ModalTransitionStyle; }
// Forward declaration of `StatusBarStyle` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { enum class StatusBarStyle; }
// Forward declaration of `UserInterfaceStyle` to properly resolve imports.
namespace margelo::nitro::inappbrowsernitro { enum class UserInterfaceStyle; }

// Include C++ defined types
#include "BrowserAnimations.hpp"
#include "BrowserColorScheme.hpp"
#include "BrowserResultType.hpp"
#include "BrowserShareState.hpp"
#include "DismissButtonStyle.hpp"
#include "DynamicColor.hpp"
#include "FormSheetContentSize.hpp"
#include "HybridInappbrowserNitroSpec.hpp"
#include "InAppBrowserAuthResult.hpp"
#include "InAppBrowserOptions.hpp"
#include "InAppBrowserResult.hpp"
#include "ModalPresentationStyle.hpp"
#include "ModalTransitionStyle.hpp"
#include "StatusBarStyle.hpp"
#include "UserInterfaceStyle.hpp"
#include <NitroModules/Promise.hpp>
#include <NitroModules/Result.hpp>
#include <exception>
#include <memory>
#include <optional>
#include <string>
#include <unordered_map>

// C++ helpers for Swift
#include "InappbrowserNitro-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 `HybridInappbrowserNitroSpec_cxx` to properly resolve imports.
namespace InappbrowserNitro { class HybridInappbrowserNitroSpec_cxx; }

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