///
/// MultipleImagePicker-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 `CameraDevice` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { enum class CameraDevice; }
// Forward declaration of `CameraResult` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct CameraResult; }
// Forward declaration of `CropRatio` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct CropRatio; }
// Forward declaration of `CropResult` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct CropResult; }
// Forward declaration of `HybridMultipleImagePickerSpec` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { class HybridMultipleImagePickerSpec; }
// Forward declaration of `Language` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { enum class Language; }
// Forward declaration of `MediaPreview` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct MediaPreview; }
// Forward declaration of `MediaType` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { enum class MediaType; }
// Forward declaration of `NitroCameraConfig` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct NitroCameraConfig; }
// Forward declaration of `NitroConfig` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct NitroConfig; }
// Forward declaration of `NitroCropConfig` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct NitroCropConfig; }
// Forward declaration of `NitroPreviewConfig` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct NitroPreviewConfig; }
// Forward declaration of `PickerCameraConfig` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct PickerCameraConfig; }
// Forward declaration of `PickerCropConfig` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct PickerCropConfig; }
// Forward declaration of `PickerResult` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct PickerResult; }
// Forward declaration of `Presentation` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { enum class Presentation; }
// Forward declaration of `ResultType` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { enum class ResultType; }
// Forward declaration of `SelectBoxStyle` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { enum class SelectBoxStyle; }
// Forward declaration of `SelectMode` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { enum class SelectMode; }
// Forward declaration of `Text` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { struct Text; }
// Forward declaration of `Theme` to properly resolve imports.
namespace margelo::nitro::multipleimagepicker { enum class Theme; }

// Include C++ defined types
#include "CameraDevice.hpp"
#include "CameraResult.hpp"
#include "CropRatio.hpp"
#include "CropResult.hpp"
#include "HybridMultipleImagePickerSpec.hpp"
#include "Language.hpp"
#include "MediaPreview.hpp"
#include "MediaType.hpp"
#include "NitroCameraConfig.hpp"
#include "NitroConfig.hpp"
#include "NitroCropConfig.hpp"
#include "NitroPreviewConfig.hpp"
#include "PickerCameraConfig.hpp"
#include "PickerCropConfig.hpp"
#include "PickerResult.hpp"
#include "Presentation.hpp"
#include "ResultType.hpp"
#include "SelectBoxStyle.hpp"
#include "SelectMode.hpp"
#include "Text.hpp"
#include "Theme.hpp"
#include <NitroModules/Result.hpp>
#include <exception>
#include <functional>
#include <memory>
#include <optional>
#include <string>
#include <vector>

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

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

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

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