// Generated by Apple Swift version 3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)
#pragma clang diagnostic push

#if defined(__has_include) && __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif

#pragma clang diagnostic ignored "-Wauto-import"
#include <objc/NSObject.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>

#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if defined(__has_include) && __has_include(<uchar.h>)
#  include <uchar.h>
# elif !defined(__cplusplus) || __cplusplus < 201103L
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
#endif

#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
#  define SWIFT_CLASS_PROPERTY(...)
# endif
#endif

#if defined(__has_attribute) && __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if defined(__has_attribute) && __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if defined(__has_attribute) && __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if defined(__has_attribute) && __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted)
#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif

#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif

#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif

#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if defined(__has_attribute) && __has_attribute(objc_designated_initializer)
#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
#  define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type
# if defined(__has_feature) && __has_feature(generalized_swift_name)
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_EXTRA _name : _type
# else
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if defined(__has_feature) && __has_feature(modules)
@import ObjectiveC;
@import Foundation;
@import UIKit;
@import CoreGraphics;
#endif

#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
@class UIImage;
@class NSAttributedString;

SWIFT_PROTOCOL("_TtP15INSPhotoGallery16INSPhotoViewable_")
@protocol INSPhotoViewable
@property (nonatomic, readonly, strong) UIImage * _Nullable image;
@property (nonatomic, readonly, strong) UIImage * _Nullable thumbnailImage;
@optional
@property (nonatomic, readonly) BOOL isDeletable;
@required
- (void)loadImageWithCompletionHandler:(void (^ _Nonnull)(UIImage * _Nullable, NSError * _Nullable))completion;
- (void)loadThumbnailImageWithCompletionHandler:(void (^ _Nonnull)(UIImage * _Nullable, NSError * _Nullable))completion;
@property (nonatomic, readonly, strong) NSAttributedString * _Nullable attributedTitle;
@end


SWIFT_CLASS("_TtC15INSPhotoGallery8INSPhoto")
@interface INSPhoto : NSObject <INSPhotoViewable>
@property (nonatomic, strong) UIImage * _Nullable image;
@property (nonatomic, strong) UIImage * _Nullable thumbnailImage;
@property (nonatomic) BOOL isDeletable;
@property (nonatomic, strong) NSAttributedString * _Nullable attributedTitle;
- (nonnull instancetype)initWithImage:(UIImage * _Nullable)image thumbnailImage:(UIImage * _Nullable)thumbnailImage OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithImageURL:(NSURL * _Nullable)imageURL thumbnailImageURL:(NSURL * _Nullable)thumbnailImageURL OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithImageURL:(NSURL * _Nullable)imageURL thumbnailImage:(UIImage * _Nullable)thumbnailImage OBJC_DESIGNATED_INITIALIZER;
- (NSString * _Nonnull)getImageURL;
- (void)loadImageWithCompletionHandler:(void (^ _Nonnull)(UIImage * _Nullable, NSError * _Nullable))completion;
- (void)loadThumbnailImageWithCompletionHandler:(void (^ _Nonnull)(UIImage * _Nullable, NSError * _Nullable))completion;
- (void)loadImageWithURL:(NSURL * _Nullable)url completion:(void (^ _Nonnull)(UIImage * _Nullable, NSError * _Nullable))completion;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
@end

@class NSCoder;
@class UIScrollView;
@class UIView;
@class NSBundle;

SWIFT_CLASS("_TtC15INSPhotoGallery22INSPhotoViewController")
@interface INSPhotoViewController : UIViewController <UIScrollViewDelegate>
- (nonnull instancetype)initWithPhoto:(id <INSPhotoViewable> _Nonnull)photo OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (void)viewDidLoad;
- (void)viewWillLayoutSubviews;
- (UIView * _Nullable)viewForZoomingInScrollView:(UIScrollView * _Nonnull)scrollView;
- (void)scrollViewWillBeginZooming:(UIScrollView * _Nonnull)scrollView withView:(UIView * _Nullable)view;
- (void)scrollViewDidEndZooming:(UIScrollView * _Nonnull)scrollView withView:(UIView * _Nullable)view atScale:(CGFloat)scale;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
@end


@class UINavigationBar;
@class UILabel;
@class UIToolbar;
@class UINavigationItem;
@class UIEvent;
@class INSPhotosViewController;

SWIFT_CLASS("_TtC15INSPhotoGallery20INSPhotosOverlayView")
@interface INSPhotosOverlayView : UIView
@property (nonatomic, readonly, strong) UINavigationBar * _Null_unspecified navigationBar;
@property (nonatomic, readonly, strong) UILabel * _Null_unspecified captionLabel;
@property (nonatomic, readonly, strong) UIToolbar * _Null_unspecified deleteToolbar;
@property (nonatomic, readonly, strong) UINavigationItem * _Null_unspecified navigationItem;
@property (nonatomic, weak) INSPhotosViewController * _Nullable photosViewController;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (UIView * _Nullable)hitTest:(CGPoint)point withEvent:(UIEvent * _Nullable)event;
- (void)layoutSubviews;
- (void)setHidden:(BOOL)hidden animated:(BOOL)animated;
- (void)populateWithPhoto:(id <INSPhotoViewable> _Nonnull)photo;
@end

@class UILongPressGestureRecognizer;
@class UIPageViewController;
@protocol UIViewControllerAnimatedTransitioning;
@protocol UIViewControllerInteractiveTransitioning;

SWIFT_CLASS("_TtC15INSPhotoGallery23INSPhotosViewController")
@interface INSPhotosViewController : UIViewController <UIPageViewControllerDataSource, UIPageViewControllerDelegate, UIViewControllerTransitioningDelegate>
@property (nonatomic, copy) UIView * _Nullable (^ _Nullable referenceViewForPhotoWhenDismissingHandler)(id <INSPhotoViewable> _Nonnull);
@property (nonatomic, copy) void (^ _Nullable navigateToPhotoHandler)(id <INSPhotoViewable> _Nonnull);
@property (nonatomic, copy) void (^ _Nullable willDismissHandler)(INSPhotosViewController * _Nonnull);
@property (nonatomic, copy) void (^ _Nullable didDismissHandler)(INSPhotosViewController * _Nonnull);
@property (nonatomic, copy) BOOL (^ _Nullable longPressGestureHandler)(id <INSPhotoViewable> _Nonnull, UILongPressGestureRecognizer * _Nonnull);
@property (nonatomic, copy) void (^ _Nullable deletePhotoHandler)(id <INSPhotoViewable> _Nonnull);
@property (nonatomic, readonly, strong) INSPhotoViewController * _Nullable currentPhotoViewController;
@property (nonatomic, readonly, strong) id <INSPhotoViewable> _Nullable currentPhoto;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Null_unspecified)nibNameOrNil bundle:(NSBundle * _Null_unspecified)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
/**
  The designated initializer that stores the array of objects implementing INSPhotoViewable
  \param photos An array of objects implementing INSPhotoViewable.

  \param initialPhoto The photo to display initially. Must be contained within the \code
  photos
  \endcode array.

  \param referenceView The view from which to animate.


  returns:
  A fully initialized object.
*/
- (nonnull instancetype)initWithPhotos:(NSArray<id <INSPhotoViewable>> * _Nonnull)photos initialPhoto:(id <INSPhotoViewable> _Nullable)initialPhoto referenceView:(UIView * _Nullable)referenceView OBJC_DESIGNATED_INITIALIZER;
- (void)viewDidLoad;
- (void)viewDidAppear:(BOOL)animated;
/**
  Displays the specified photo. Can be called before the view controller is displayed. Calling with a photo not contained within the data source has no effect.
  \param photo The photo to make the currently displayed photo.

  \param animated Whether to animate the transition to the new photo.

*/
- (void)changeToPhoto:(id <INSPhotoViewable> _Nonnull)photo animated:(BOOL)animated direction:(UIPageViewControllerNavigationDirection)direction;
- (void)handleDeleteButtonTapped;
- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^ _Nullable)(void))completion;
- (UIViewController * _Nullable)pageViewController:(UIPageViewController * _Nonnull)pageViewController viewControllerBeforeViewController:(UIViewController * _Nonnull)viewController;
- (UIViewController * _Nullable)pageViewController:(UIPageViewController * _Nonnull)pageViewController viewControllerAfterViewController:(UIViewController * _Nonnull)viewController;
- (void)pageViewController:(UIPageViewController * _Nonnull)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray<UIViewController *> * _Nonnull)previousViewControllers transitionCompleted:(BOOL)completed;
- (id <UIViewControllerAnimatedTransitioning> _Nullable)animationControllerForPresentedController:(UIViewController * _Nonnull)presented presentingController:(UIViewController * _Nonnull)presenting sourceController:(UIViewController * _Nonnull)source;
- (id <UIViewControllerAnimatedTransitioning> _Nullable)animationControllerForDismissedController:(UIViewController * _Nonnull)dismissed;
- (id <UIViewControllerInteractiveTransitioning> _Nullable)interactionControllerForDismissal:(id <UIViewControllerAnimatedTransitioning> _Nonnull)animator;
- (void)copy:(id _Nullable)sender;
@property (nonatomic, readonly) BOOL canBecomeFirstResponder;
- (BOOL)canPerformAction:(SEL _Nonnull)action withSender:(id _Nullable)sender;
@property (nonatomic, readonly) BOOL prefersStatusBarHidden;
@property (nonatomic, readonly) UIStatusBarStyle preferredStatusBarStyle;
@property (nonatomic, readonly) UIStatusBarAnimation preferredStatusBarUpdateAnimation;
@end


@interface UIView (SWIFT_EXTENSION(INSPhotoGallery))
@end

#pragma clang diagnostic pop
