#if 0
#elif defined(__arm64__) && __arm64__
// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
#ifndef MATERIAL_SWIFT_H
#define MATERIAL_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"

#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif

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

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

#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
#  include <uchar.h>
# elif !defined(__cplusplus)
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 __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#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 __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_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# 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 __has_attribute(objc_designated_initializer)
#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
#  define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
#  define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
#  define SWIFT_EXTERN extern "C"
# else
#  define SWIFT_EXTERN extern
# endif
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import CoreGraphics;
@import Foundation;
@import ObjectiveC;
@import QuartzCore;
@import UIKit;
#endif

#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"

#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Material",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif

@class UIImage;
@class UIColor;
@class NSCoder;

SWIFT_CLASS("_TtC8Material4View")
@interface View : UIView
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// A property that manages an image for the visualLayer’s contents
/// property. Images should not be set to the backing layer’s contents
/// property to avoid conflicts when using clipsToBounds.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Allows a relative subrectangle within the range of 0 to 1 to be
/// specified for the visualLayer’s contents property. This allows
/// much greater flexibility than the contentsGravity property in
/// terms of how the image is cropped and stretched.
@property (nonatomic) IBInspectable CGRect contentsRect;
/// A CGRect that defines a stretchable region inside the visualLayer
/// with a fixed border around the edge.
@property (nonatomic) IBInspectable CGRect contentsCenter;
/// A floating point value that defines a ratio between the pixel
/// dimensions of the visualLayer’s contents property and the size
/// of the view. By default, this value is set to the Screen.scale.
@property (nonatomic) IBInspectable CGFloat contentsScale;
/// Determines how content should be aligned within the visualLayer’s bounds.
@property (nonatomic) IBInspectable CALayerContentsGravity _Nonnull contentsGravity;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end


SWIFT_CLASS("_TtC8Material3Bar")
@interface Bar : View
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets contentEdgeInsets;
/// A wrapper around grid.interimSpace.
@property (nonatomic) IBInspectable CGFloat interimSpace;
/// Grid cell factor.
@property (nonatomic) IBInspectable CGFloat gridFactor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end


@class NSString;
@class UITouch;
@class UIEvent;

SWIFT_CLASS("_TtC8Material6Button")
@interface Button : UIButton
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// Sets the normal and highlighted image for the button.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Sets the normal and highlighted title for the button.
@property (nonatomic, copy) IBInspectable NSString * _Nullable title;
/// Sets the normal and highlighted titleColor for the button.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable titleColor;
/// Sets the selected titleColor for the button.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable selectedTitleColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end


/// Implements common logic for CheckButton and RadioButton
SWIFT_CLASS("_TtC8Material19BaseIconLayerButton")
@interface BaseIconLayerButton : Button
/// A Boolean value indicating whether the button is in the selected state
/// Use <code>setSelected(_:, animated:)</code> if the state change needs to be animated
@property (nonatomic, getter=isSelected) BOOL selected;
/// A Boolean value indicating whether the control is enabled.
@property (nonatomic, getter=isEnabled) BOOL enabled;
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


typedef SWIFT_ENUM_NAMED(NSInteger, BorderWidthPreset, "BorderWidthPreset", open) {
  BorderWidthPresetNone = 0,
  BorderWidthPresetBorder1 = 1,
  BorderWidthPresetBorder2 = 2,
  BorderWidthPresetBorder3 = 3,
  BorderWidthPresetBorder4 = 4,
  BorderWidthPresetBorder5 = 5,
  BorderWidthPresetBorder6 = 6,
  BorderWidthPresetBorder7 = 7,
  BorderWidthPresetBorder8 = 8,
  BorderWidthPresetBorder9 = 9,
};

@class NSBundle;

SWIFT_CLASS("_TtC8Material26BottomNavigationController")
@interface BottomNavigationController : UITabBarController
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with an Optional nib and bundle.
/// \param nibNameOrNil An Optional String for the nib.
///
/// \param bundle An Optional NSBundle where the nib is located.
///
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
/// An initializer that accepts no parameters.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (void)viewDidLoad;
- (void)viewWillLayoutSubviews;
@end












@interface CALayer (SWIFT_EXTENSION(Material))
/// A property that accesses the frame.origin.x property.
@property (nonatomic) IBInspectable CGFloat x;
/// A property that accesses the frame.origin.y property.
@property (nonatomic) IBInspectable CGFloat y;
/// A property that accesses the frame.size.width property.
@property (nonatomic) IBInspectable CGFloat width;
/// A property that accesses the frame.size.height property.
@property (nonatomic) IBInspectable CGFloat height;
/// Enables automatic shadowPath sizing.
@property (nonatomic) IBInspectable BOOL isShadowPathAutoSizing;
@end


SWIFT_CLASS("_TtC8Material9PulseView")
@interface PulseView : View
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

enum CornerRadiusPreset : NSInteger;
enum ShapePreset : NSInteger;
@class Toolbar;

SWIFT_CLASS("_TtC8Material4Card")
@interface Card : PulseView
@property (nonatomic) IBInspectable enum CornerRadiusPreset cornerRadiusPreset;
@property (nonatomic) IBInspectable CGFloat cornerRadius;
@property (nonatomic) enum ShapePreset shapePreset;
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// A reference to the toolbar.
@property (nonatomic, strong) IBInspectable Toolbar * _Nullable toolbar;
/// A reference to toolbarEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets toolbarEdgeInsets;
/// A reference to the contentView.
@property (nonatomic, strong) IBInspectable UIView * _Nullable contentView;
/// A reference to contentViewEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets contentViewEdgeInsets;
/// A reference to the bottomBar.
@property (nonatomic, strong) IBInspectable Bar * _Nullable bottomBar;
/// A reference to bottomBarEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets bottomBarEdgeInsets;
/// An initializer that accepts a NSCoder.
/// \param coder aDecoder A NSCoder.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that accepts a CGRect.
/// \param frame A CGRect.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end



SWIFT_CLASS_NAMED("CollectionViewCell")
@interface CollectionViewCell : UICollectionViewCell
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A property that manages an image for the visualLayer’s contents
/// property. Images should not be set to the backing layer’s contents
/// property to avoid conflicts when using clipsToBounds.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Allows a relative subrectangle within the range of 0 to 1 to be
/// specified for the visualLayer’s contents property. This allows
/// much greater flexibility than the contentsGravity property in
/// terms of how the image is cropped and stretched.
@property (nonatomic) IBInspectable CGRect contentsRect;
/// A CGRect that defines a stretchable region inside the visualLayer
/// with a fixed border around the edge.
@property (nonatomic) IBInspectable CGRect contentsCenter;
/// A floating point value that defines a ratio between the pixel
/// dimensions of the visualLayer’s contents property and the size
/// of the view. By default, this value is set to the Screen.scale.
@property (nonatomic) IBInspectable CGFloat contentsScale;
/// Determines how content should be aligned within the visualLayer’s bounds.
@property (nonatomic) IBInspectable CALayerContentsGravity _Nonnull contentsGravity;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end


SWIFT_CLASS("_TtC8Material22CardCollectionViewCell")
@interface CardCollectionViewCell : CollectionViewCell
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material14ViewController")
@interface ViewController : UIViewController
- (void)viewDidLoad;
- (void)viewWillLayoutSubviews;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material28CardCollectionViewController")
@interface CardCollectionViewController : ViewController
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end




@class UICollectionView;
@class NSIndexPath;

@interface CardCollectionViewController (SWIFT_EXTENSION(Material))
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC8Material11CheckButton")
@interface CheckButton : BaseIconLayerButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material7ChipBar")
@interface ChipBar : Bar
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets chipItemsContentEdgeInsets;
/// A wrapper around chipItems interimSpace.
@property (nonatomic) IBInspectable CGFloat chipItemsInterimSpace;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end







typedef SWIFT_ENUM_NAMED(NSInteger, ChipBarAlignment, "ChipBarAlignment", open) {
  ChipBarAlignmentTop = 0,
  ChipBarAlignmentBottom = 1,
  ChipBarAlignmentHidden = 2,
};


SWIFT_CLASS("_TtC8Material20TransitionController")
@interface TransitionController : ViewController
/// A Boolean property used to enable and disable interactivity
/// with the rootViewController.
@property (nonatomic) IBInspectable BOOL isUserInteractionEnabled;
@property (nonatomic, readonly, strong) UIViewController * _Nullable childViewControllerForStatusBarStyle;
@property (nonatomic, readonly, strong) UIViewController * _Nullable childViewControllerForStatusBarHidden;
@property (nonatomic, readonly, strong) UIViewController * _Nullable childViewControllerForHomeIndicatorAutoHidden;
@property (nonatomic, readonly, strong) UIViewController * _Nullable childViewControllerForScreenEdgesDeferringSystemGestures;
/// A reference to the container view.
@property (nonatomic, readonly, strong) IBInspectable UIView * _Nonnull container;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with an Optional nib and bundle.
/// \param nibNameOrNil An Optional String for the nib.
///
/// \param bundle An Optional NSBundle where the nib is located.
///
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@property (nonatomic, readonly) BOOL shouldAutomaticallyForwardAppearanceMethods;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
@end


SWIFT_CLASS("_TtC8Material17ChipBarController")
@interface ChipBarController : TransitionController
/// The ChipBar used to switch between view controllers.
@property (nonatomic, readonly, strong) IBInspectable ChipBar * _Nonnull chipBar;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end



@class ChipItem;

SWIFT_PROTOCOL_NAMED("ChipBarDelegate")
@protocol ChipBarDelegate
@optional
/// A delegation method that is executed when the chipItem will trigger the
/// animation to the next chip.
/// \param chipBar A ChipBar.
///
/// \param chipItem A ChipItem.
///
- (void)chipBarWithChipBar:(ChipBar * _Nonnull)chipBar willSelect:(ChipItem * _Nonnull)chipItem;
/// A delegation method that is executed when the chipItem did complete the
/// animation to the next chip.
/// \param chipBar A ChipBar.
///
/// \param chipItem A ChipItem.
///
- (void)chipBarWithChipBar:(ChipBar * _Nonnull)chipBar didSelect:(ChipItem * _Nonnull)chipItem;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, ChipBarStyle, "ChipBarStyle", open) {
  ChipBarStyleAuto = 0,
  ChipBarStyleNonScrollable = 1,
  ChipBarStyleScrollable = 2,
};


SWIFT_CLASS("_TtC8Material10FlatButton")
@interface FlatButton : Button
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material8ChipItem")
@interface ChipItem : FlatButton
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end



typedef SWIFT_ENUM_NAMED(NSInteger, ChipItemStyle, "ChipItemStyle", open) {
  ChipItemStylePill = 0,
};


SWIFT_CLASS_NAMED("CollectionReusableView")
@interface CollectionReusableView : UICollectionReusableView
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A property that manages an image for the visualLayer’s contents
/// property. Images should not be set to the backing layer’s contents
/// property to avoid conflicts when using clipsToBounds.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Allows a relative subrectangle within the range of 0 to 1 to be
/// specified for the visualLayer’s contents property. This allows
/// much greater flexibility than the contentsGravity property in
/// terms of how the image is cropped and stretched.
@property (nonatomic) IBInspectable CGRect contentsRect;
/// A CGRect that defines a stretchable region inside the visualLayer
/// with a fixed border around the edge.
@property (nonatomic) IBInspectable CGRect contentsCenter;
/// A floating point value that defines a ratio between the pixel
/// dimensions of the visualLayer’s contents property and the size
/// of the view. By default, this value is set to the Screen.scale.
@property (nonatomic) IBInspectable CGFloat contentsScale;
/// Determines how content should be aligned within the visualLayer’s bounds.
@property (nonatomic) IBInspectable CALayerContentsGravity _Nonnull contentsGravity;
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets contentEdgeInsets;
/// A wrapper around grid.interimSpace.
@property (nonatomic) IBInspectable CGFloat interimSpace;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end



@class UICollectionViewLayout;

SWIFT_CLASS("_TtC8Material14CollectionView")
@interface CollectionView : UICollectionView
/// Spacing between items.
@property (nonatomic) IBInspectable CGFloat interimSpace;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object.
/// \param frame A CGRect defining the view’s frame.
///
/// \param collectionViewLayout A UICollectionViewLayout reference.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout * _Nonnull)layout OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object.
/// \param frame A CGRect defining the view’s frame.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
/// A convenience initializer that initializes the object.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end





SWIFT_CLASS("_TtC8Material24CollectionViewController")
@interface CollectionViewController : ViewController
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end





@interface CollectionViewController (SWIFT_EXTENSION(Material))
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC8Material20CollectionViewLayout")
@interface CollectionViewLayout : UICollectionViewLayout
@property (nonatomic, readonly) CGSize collectionViewContentSize;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end



@class UICollectionViewLayoutAttributes;

@interface CollectionViewLayout (SWIFT_EXTENSION(Material))
- (UICollectionViewLayoutAttributes * _Nullable)layoutAttributesForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
- (NSArray<UICollectionViewLayoutAttributes *> * _Nullable)layoutAttributesForElementsInRect:(CGRect)rect SWIFT_WARN_UNUSED_RESULT;
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds SWIFT_WARN_UNUSED_RESULT;
- (void)prepareLayout;
- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset SWIFT_WARN_UNUSED_RESULT;
@end

@class CIColor;
@class UITraitCollection;

SWIFT_CLASS("_TtC8Material5Color")
@interface Color : UIColor
- (nonnull instancetype)initWithWhite:(CGFloat)white alpha:(CGFloat)alpha OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha OBJC_DESIGNATED_INITIALIZER SWIFT_AVAILABILITY(ios,introduced=10.0);
- (nonnull instancetype)initWithCGColor:(CGColorRef _Nonnull)cgColor OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithPatternImage:(UIImage * _Nonnull)image OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithCIColor:(CIColor * _Nonnull)ciColor OBJC_DESIGNATED_INITIALIZER SWIFT_AVAILABILITY(ios,introduced=5.0);
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithDynamicProvider:(UIColor * _Nonnull (^ _Nonnull)(UITraitCollection * _Nonnull))dynamicProvider OBJC_DESIGNATED_INITIALIZER SWIFT_AVAILABILITY(ios,introduced=13.0);
@end


SWIFT_PROTOCOL_NAMED("ColorPalette")
@protocol ColorPalette
/// Material color code: 50
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten5;)
+ (UIColor * _Nonnull)lighten5 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 100
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten4;)
+ (UIColor * _Nonnull)lighten4 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 200
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten3;)
+ (UIColor * _Nonnull)lighten3 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 300
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten2;)
+ (UIColor * _Nonnull)lighten2 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 400
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten1;)
+ (UIColor * _Nonnull)lighten1 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 500
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull base;)
+ (UIColor * _Nonnull)base SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 600
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull darken1;)
+ (UIColor * _Nonnull)darken1 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 700
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull darken2;)
+ (UIColor * _Nonnull)darken2 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 800
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull darken3;)
+ (UIColor * _Nonnull)darken3 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 900
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull darken4;)
+ (UIColor * _Nonnull)darken4 SWIFT_WARN_UNUSED_RESULT;
@optional
/// Material color code: A100
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull accent1;)
+ (UIColor * _Nonnull)accent1 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: A200
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull accent2;)
+ (UIColor * _Nonnull)accent2 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: A400
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull accent3;)
+ (UIColor * _Nonnull)accent3 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: A700
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull accent4;)
+ (UIColor * _Nonnull)accent4 SWIFT_WARN_UNUSED_RESULT;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, ContentViewAlignment, "ContentViewAlignment", open) {
  ContentViewAlignmentFull = 0,
  ContentViewAlignmentCenter = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, CornerRadiusPreset, "CornerRadiusPreset", open) {
  CornerRadiusPresetNone = 0,
  CornerRadiusPresetCornerRadius1 = 1,
  CornerRadiusPresetCornerRadius2 = 2,
  CornerRadiusPresetCornerRadius3 = 3,
  CornerRadiusPresetCornerRadius4 = 4,
  CornerRadiusPresetCornerRadius5 = 5,
  CornerRadiusPresetCornerRadius6 = 6,
  CornerRadiusPresetCornerRadius7 = 7,
  CornerRadiusPresetCornerRadius8 = 8,
  CornerRadiusPresetCornerRadius9 = 9,
};

typedef SWIFT_ENUM_NAMED(NSInteger, DeviceModel, "DeviceModel", open) {
  DeviceModelIPodTouch5 = 0,
  DeviceModelIPodTouch6 = 1,
  DeviceModelIPhone4 = 2,
  DeviceModelIPhone4s = 3,
  DeviceModelIPhone5 = 4,
  DeviceModelIPhone5c = 5,
  DeviceModelIPhone5s = 6,
  DeviceModelIPhone6 = 7,
  DeviceModelIPhone6Plus = 8,
  DeviceModelIPhone6s = 9,
  DeviceModelIPhone6sPlus = 10,
  DeviceModelIPhone7 = 11,
  DeviceModelIPhone7Plus = 12,
  DeviceModelIPhone8 = 13,
  DeviceModelIPhone8Plus = 14,
  DeviceModelIPhoneX = 15,
  DeviceModelIPhoneXS = 16,
  DeviceModelIPhoneXSMax = 17,
  DeviceModelIPhoneXR = 18,
  DeviceModelIPhoneSE = 19,
  DeviceModelIPad2 = 20,
  DeviceModelIPad3 = 21,
  DeviceModelIPad4 = 22,
  DeviceModelIPadAir = 23,
  DeviceModelIPadAir2 = 24,
  DeviceModelIPadMini = 25,
  DeviceModelIPadMini2 = 26,
  DeviceModelIPadMini3 = 27,
  DeviceModelIPadMini4 = 28,
  DeviceModelIPadPro = 29,
  DeviceModelIPadProLarge = 30,
  DeviceModelIPad5 = 31,
  DeviceModelIPadPro2 = 32,
  DeviceModelIPadProLarge2 = 33,
  DeviceModelIPad6 = 34,
  DeviceModelIPadPro3 = 35,
  DeviceModelIPadProLarge3 = 36,
  DeviceModelAppleTv = 37,
  DeviceModelAppleTv4k = 38,
  DeviceModelHomePod = 39,
  DeviceModelSimulator = 40,
  DeviceModelUnknown = 41,
};


/// A builder for DialogController.
SWIFT_CLASS("_TtC8Material6Dialog")
@interface Dialog : NSObject
/// An empty initializer.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end



SWIFT_PROTOCOL("_TtP8Material14DialogDelegate_")
@protocol DialogDelegate
@optional
/// A delegation method that is executed when the Dialog is cancelled through tapping background.
/// \param _ dialog A Dialog.
///
- (void)dialogDidCancel:(Dialog * _Nonnull)dialog;
/// A delegation method that is executed when the Dialog will appear.
/// \param _ dialog A Dialog.
///
- (void)dialogWillAppear:(Dialog * _Nonnull)dialog;
/// A delegation method that is executed when the Dialog did disappear.
/// \param _ dialog A Dialog.
///
- (void)dialogDidDisappear:(Dialog * _Nonnull)dialog;
/// A delegation method that is executed to determine if the Dialog should be dismissed.
/// \param _ dialog A Dialog.
///
/// \param shouldDismiss button The tapped button. nil if dialog is being
/// cancelled through tapping background.
///
///
/// returns:
/// A Boolean.
- (BOOL)dialog:(Dialog * _Nonnull)dialog shouldDismiss:(Button * _Nullable)button SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is executed when the positive button of Dialog is tapped.
/// \param _ dialog A Dialog.
///
/// \param didTapPositive button A Button.
///
- (void)dialog:(Dialog * _Nonnull)dialog didTapPositive:(Button * _Nonnull)button;
/// A delegation method that is executed when the negative button of Dialog is tapped.
/// \param _ dialog A Dialog.
///
/// \param didTapNegative button A Button.
///
- (void)dialog:(Dialog * _Nonnull)dialog didTapNegative:(Button * _Nonnull)button;
/// A delegation method that is executed when the neutral button of Dialog is tapped.
/// \param _ dialog A Dialog.
///
/// \param didTapNeutral button A Button.
///
- (void)dialog:(Dialog * _Nonnull)dialog didTapNeutral:(Button * _Nonnull)button;
@end


SWIFT_CLASS("_TtC8Material10DialogView")
@interface DialogView : View
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (CGSize)sizeThatFits:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end




typedef SWIFT_ENUM_NAMED(NSInteger, DisplayStyle, "DisplayStyle", open) {
  DisplayStylePartial = 0,
  DisplayStyleFull = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, DividerAlignment, "DividerAlignment", open) {
  DividerAlignmentTop = 0,
  DividerAlignmentLeft = 1,
  DividerAlignmentBottom = 2,
  DividerAlignmentRight = 3,
};


SWIFT_CLASS_NAMED("DynamicFontType")
@interface DynamicFontType : NSObject
/// Initializer.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_PROTOCOL_NAMED("DynamicFontTypeDelegate")
@protocol DynamicFontTypeDelegate
/// A delegation method that is executed when the dynamic type
/// is changed.
/// \param dynamicFontType A DynamicFontType.
///
- (void)dynamicFontTypeWithDynamicFontType:(DynamicFontType * _Nonnull)dynamicFontType;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, EdgeInsetsPreset, "EdgeInsetsPreset", open) {
  EdgeInsetsPresetNone = 0,
  EdgeInsetsPresetSquare1 = 1,
  EdgeInsetsPresetSquare2 = 2,
  EdgeInsetsPresetSquare3 = 3,
  EdgeInsetsPresetSquare4 = 4,
  EdgeInsetsPresetSquare5 = 5,
  EdgeInsetsPresetSquare6 = 6,
  EdgeInsetsPresetSquare7 = 7,
  EdgeInsetsPresetSquare8 = 8,
  EdgeInsetsPresetSquare9 = 9,
  EdgeInsetsPresetSquare10 = 10,
  EdgeInsetsPresetSquare11 = 11,
  EdgeInsetsPresetSquare12 = 12,
  EdgeInsetsPresetSquare13 = 13,
  EdgeInsetsPresetSquare14 = 14,
  EdgeInsetsPresetSquare15 = 15,
  EdgeInsetsPresetWideRectangle1 = 16,
  EdgeInsetsPresetWideRectangle2 = 17,
  EdgeInsetsPresetWideRectangle3 = 18,
  EdgeInsetsPresetWideRectangle4 = 19,
  EdgeInsetsPresetWideRectangle5 = 20,
  EdgeInsetsPresetWideRectangle6 = 21,
  EdgeInsetsPresetWideRectangle7 = 22,
  EdgeInsetsPresetWideRectangle8 = 23,
  EdgeInsetsPresetWideRectangle9 = 24,
  EdgeInsetsPresetTallRectangle1 = 25,
  EdgeInsetsPresetTallRectangle2 = 26,
  EdgeInsetsPresetTallRectangle3 = 27,
  EdgeInsetsPresetTallRectangle4 = 28,
  EdgeInsetsPresetTallRectangle5 = 29,
  EdgeInsetsPresetTallRectangle6 = 30,
  EdgeInsetsPresetTallRectangle7 = 31,
  EdgeInsetsPresetTallRectangle8 = 32,
  EdgeInsetsPresetTallRectangle9 = 33,
/// horizontally
  EdgeInsetsPresetHorizontally1 = 34,
  EdgeInsetsPresetHorizontally2 = 35,
  EdgeInsetsPresetHorizontally3 = 36,
  EdgeInsetsPresetHorizontally4 = 37,
  EdgeInsetsPresetHorizontally5 = 38,
/// vertically
  EdgeInsetsPresetVertically1 = 39,
  EdgeInsetsPresetVertically2 = 40,
  EdgeInsetsPresetVertically3 = 41,
  EdgeInsetsPresetVertically4 = 42,
  EdgeInsetsPresetVertically5 = 43,
};

@class UILabel;

SWIFT_CLASS("_TtC8Material6Editor")
@interface Editor : View
/// The placeholder UILabel.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull placeholderLabel;
/// A Boolean that indicates if the placeholder label is animated.
@property (nonatomic) IBInspectable BOOL isPlaceholderAnimated;
/// Placeholder normal text color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderNormalColor;
/// Placeholder active text color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderActiveColor;
/// The scale of the active placeholder in relation to the inactive.
@property (nonatomic) IBInspectable CGFloat placeholderActiveScale;
/// This property adds a padding to placeholder y position animation
@property (nonatomic) IBInspectable CGFloat placeholderVerticalOffset;
/// This property adds a padding to placeholder x position animation
@property (nonatomic) IBInspectable CGFloat placeholderHorizontalOffset;
/// Divider normal height.
@property (nonatomic) IBInspectable CGFloat dividerNormalHeight;
/// Divider active height.
@property (nonatomic) IBInspectable CGFloat dividerActiveHeight;
/// Divider normal color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull dividerNormalColor;
/// Divider active color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull dividerActiveColor;
/// The detailLabel UILabel that is displayed.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull detailLabel;
/// The detailLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable detail;
/// The detailLabel text color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull detailColor;
/// Vertical distance for the detailLabel from the divider.
@property (nonatomic) IBInspectable CGFloat detailVerticalOffset;
- (void)layoutSubviews;
- (BOOL)becomeFirstResponder;
- (BOOL)resignFirstResponder;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end






@class UIFont;

SWIFT_CLASS("_TtC8Material9TextField")
@interface TextField : UITextField
/// Default size when using AutoLayout.
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// A Boolean that indicates if the placeholder label is animated.
@property (nonatomic) IBInspectable BOOL isPlaceholderAnimated;
@property (nonatomic, copy) NSString * _Nullable text;
@property (nonatomic, strong) UIView * _Nullable leftView;
/// Placeholder normal text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull leftViewNormalColor;
/// Placeholder active text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull leftViewActiveColor;
/// Divider normal height.
@property (nonatomic) IBInspectable CGFloat dividerNormalHeight;
/// Divider active height.
@property (nonatomic) IBInspectable CGFloat dividerActiveHeight;
/// Divider normal color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull dividerNormalColor;
/// Divider active color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull dividerActiveColor;
/// The placeholderLabel font value.
@property (nonatomic, strong) IBInspectable UIFont * _Nullable font;
/// The placeholderLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable placeholder;
@property (nonatomic, getter=isSecureTextEntry) BOOL secureTextEntry;
/// The placeholder UILabel.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull placeholderLabel;
/// Placeholder normal text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderNormalColor;
/// Placeholder active text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderActiveColor;
/// This property adds a padding to placeholder y position animation
@property (nonatomic) IBInspectable CGFloat placeholderVerticalOffset;
/// This property adds a padding to placeholder y position animation
@property (nonatomic) IBInspectable CGFloat placeholderHorizontalOffset;
/// The scale of the active placeholder in relation to the inactive
@property (nonatomic) IBInspectable CGFloat placeholderActiveScale;
/// The detailLabel UILabel that is displayed.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull detailLabel;
/// The detailLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable detail;
/// Detail text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull detailColor;
/// Vertical distance for the detailLabel from the divider.
@property (nonatomic) IBInspectable CGFloat detailVerticalOffset;
/// Handles the textAlignment of the placeholderLabel.
@property (nonatomic) NSTextAlignment textAlignment;
/// Enables the clearIconButton.
@property (nonatomic) IBInspectable BOOL isClearIconButtonEnabled;
/// Enables the automatic handling of the clearIconButton.
@property (nonatomic) IBInspectable BOOL isClearIconButtonAutoHandled;
/// Enables the visibilityIconButton.
@property (nonatomic) IBInspectable BOOL isVisibilityIconButtonEnabled;
/// Enables the automatic handling of the visibilityIconButton.
@property (nonatomic) IBInspectable BOOL isVisibilityIconButtonAutoHandled;
@property (nonatomic) IBInspectable BOOL isPlaceholderUppercasedWhenEditing;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
- (BOOL)becomeFirstResponder SWIFT_WARN_UNUSED_RESULT;
/// EdgeInsets for text.
@property (nonatomic) UIEdgeInsets textInsets;
- (CGRect)textRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
- (CGRect)editingRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC8Material14ErrorTextField")
@interface ErrorTextField : TextField
/// The errorLabel UILabel that is displayed.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull errorLabel;
/// The errorLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable error;
/// Error text color
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull errorColor;
/// Vertical distance for the errorLabel from the divider.
@property (nonatomic) IBInspectable CGFloat errorVerticalOffset;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end



SWIFT_CLASS("_TtC8Material9FABButton")
@interface FABButton : Button
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS_NAMED("FABMenu")
@interface FABMenu : View
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


@interface FABMenu (SWIFT_EXTENSION(Material))
/// Handles the hit test for the Menu and views outside of the Menu bounds.
/// \param _ point A CGPoint.
///
/// \param with event An optional UIEvent.
///
///
/// returns:
/// An optional UIView.
- (UIView * _Nullable)hitTest:(CGPoint)point withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT;
@end




SWIFT_CLASS("_TtC8Material17FABMenuController")
@interface FABMenuController : TransitionController
/// Reference to the MenuView.
@property (nonatomic, strong) IBInspectable FABMenu * _Nonnull fabMenu;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_PROTOCOL_NAMED("FABMenuDelegate")
@protocol FABMenuDelegate
@optional
/// A delegation method that is executed to determine whether fabMenu should open.
/// \param fabMenu A FABMenu.
///
- (BOOL)fabMenuShouldOpenWithFabMenu:(FABMenu * _Nonnull)fabMenu SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is execited when the fabMenu will open.
/// \param fabMenu A FABMenu.
///
- (void)fabMenuWillOpenWithFabMenu:(FABMenu * _Nonnull)fabMenu;
/// A delegation method that is execited when the fabMenu did open.
/// \param fabMenu A FABMenu.
///
- (void)fabMenuDidOpenWithFabMenu:(FABMenu * _Nonnull)fabMenu;
/// A delegation method that is executed to determine whether fabMenu should close.
/// \param fabMenu A FABMenu.
///
- (BOOL)fabMenuShouldCloseWithFabMenu:(FABMenu * _Nonnull)fabMenu SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is execited when the fabMenu will close.
/// \param fabMenu A FABMenu.
///
- (void)fabMenuWillCloseWithFabMenu:(FABMenu * _Nonnull)fabMenu;
/// A delegation method that is execited when the fabMenu did close.
/// \param fabMenu A FABMenu.
///
- (void)fabMenuDidCloseWithFabMenu:(FABMenu * _Nonnull)fabMenu;
/// A delegation method that is executed when the user taps while
/// the menu is opened.
/// \param fabMenu A FABMenu.
///
/// \param tappedAt point A CGPoint.
///
/// \param isOutside A boolean indicating whether the tap
/// was outside the menu button area.
///
- (void)fabMenuWithFabMenu:(FABMenu * _Nonnull)fabMenu tappedAt:(CGPoint)point isOutside:(BOOL)isOutside;
@end


@interface FABMenuController (SWIFT_EXTENSION(Material)) <FABMenuDelegate>
@end





typedef SWIFT_ENUM_NAMED(NSInteger, FABMenuDirection, "FABMenuDirection", open) {
  FABMenuDirectionUp = 0,
  FABMenuDirectionDown = 1,
  FABMenuDirectionLeft = 2,
  FABMenuDirectionRight = 3,
};


SWIFT_CLASS("_TtC8Material11FABMenuItem")
@interface FABMenuItem : View
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end



typedef SWIFT_ENUM_NAMED(NSInteger, FABMenuItemTitleLabelPosition, "FABMenuItemTitleLabelPosition", open) {
  FABMenuItemTitleLabelPositionLeft = 0,
  FABMenuItemTitleLabelPositionRight = 1,
};


typedef SWIFT_ENUM_NAMED(NSInteger, GridAxisDirection, "GridAxisDirection", open) {
  GridAxisDirectionAny = 0,
  GridAxisDirectionHorizontal = 1,
  GridAxisDirectionVertical = 2,
};


SWIFT_CLASS("_TtC8Material10IconButton")
@interface IconButton : Button
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

@class UIImageView;

SWIFT_CLASS("_TtC8Material9ImageCard")
@interface ImageCard : Card
/// A reference to imageViewEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets imageViewEdgeInsets;
/// A reference to the imageView.
@property (nonatomic, strong) IBInspectable UIImageView * _Nullable imageView;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, ImageFormat, "ImageFormat", open) {
  ImageFormatPng = 0,
  ImageFormatJpeg = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, InterimSpacePreset, "InterimSpacePreset", open) {
  InterimSpacePresetNone = 0,
  InterimSpacePresetInterimSpace1 = 1,
  InterimSpacePresetInterimSpace2 = 2,
  InterimSpacePresetInterimSpace3 = 3,
  InterimSpacePresetInterimSpace4 = 4,
  InterimSpacePresetInterimSpace5 = 5,
  InterimSpacePresetInterimSpace6 = 6,
  InterimSpacePresetInterimSpace7 = 7,
  InterimSpacePresetInterimSpace8 = 8,
  InterimSpacePresetInterimSpace9 = 9,
  InterimSpacePresetInterimSpace10 = 10,
  InterimSpacePresetInterimSpace11 = 11,
  InterimSpacePresetInterimSpace12 = 12,
  InterimSpacePresetInterimSpace13 = 13,
  InterimSpacePresetInterimSpace14 = 14,
  InterimSpacePresetInterimSpace15 = 15,
  InterimSpacePresetInterimSpace16 = 16,
  InterimSpacePresetInterimSpace17 = 17,
  InterimSpacePresetInterimSpace18 = 18,
};


SWIFT_CLASS_NAMED("Layer")
@interface Layer : CAShapeLayer
/// A property that manages an image for the visualLayer’s contents
/// property. Images should not be set to the backing layer’s contents
/// property to avoid conflicts when using clipsToBounds.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Allows a relative subrectangle within the range of 0 to 1 to be
/// specified for the visualLayer’s contents property. This allows
/// much greater flexibility than the contentsGravity property in
/// terms of how the image is cropped and stretched.
@property (nonatomic) CGRect contentsRect;
/// A CGRect that defines a stretchable region inside the visualLayer
/// with a fixed border around the edge.
@property (nonatomic) CGRect contentsCenter;
/// A floating point value that defines a ratio between the pixel
/// dimensions of the visualLayer’s contents property and the size
/// of the layer. By default, this value is set to the Screen.scale.
@property (nonatomic) IBInspectable CGFloat contentsScale;
/// Determines how content should be aligned within the visualLayer’s bounds.
@property (nonatomic) IBInspectable CALayerContentsGravity _Nonnull contentsGravity;
/// A property that sets the cornerRadius of the backing layer. If the shape
/// property has a value of .circle when the cornerRadius is set, it will
/// become .none, as it no longer maintains its circle shape.
@property (nonatomic) IBInspectable CGFloat cornerRadius;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer the same as init(). The layer parameter is ignored
/// to avoid crashes on certain architectures.
/// \param layer Any.
///
- (nonnull instancetype)initWithLayer:(id _Nonnull)layer OBJC_DESIGNATED_INITIALIZER;
/// A convenience initializer.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSublayers;
@end





SWIFT_CLASS("_TtC8Material13NavigationBar")
@interface NavigationBar : UINavigationBar
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets contentEdgeInsets;
/// A wrapper around grid.interimSpace.
@property (nonatomic) IBInspectable CGFloat interimSpace;
/// The back button image writes to the backIndicatorImage property and
/// backIndicatorTransitionMaskImage property.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable backButtonImage;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (CGSize)sizeThatFits:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
- (void)layoutSubviews;
@end



SWIFT_CLASS("_TtC8Material20NavigationController")
@interface NavigationController : UINavigationController
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with an Optional nib and bundle.
/// \param nibNameOrNil An Optional String for the nib.
///
/// \param bundle An Optional NSBundle where the nib is located.
///
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a rootViewController.
/// \param rootViewController A UIViewController for the rootViewController.
///
- (nonnull instancetype)initWithRootViewController:(UIViewController * _Nonnull)rootViewController OBJC_DESIGNATED_INITIALIZER;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidLoad;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillLayoutSubviews;
/// Sets whether the navigation bar is hidden.
/// \param _ hidden Specify true to hide the navigation bar or false to show it.
///
/// \param animated Specify true if you want to animate the change in visibility or false if you want the navigation bar to appear immediately.
///
- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated;
- (nonnull instancetype)initWithNavigationBarClass:(Class _Nullable)navigationBarClass toolbarClass:(Class _Nullable)toolbarClass SWIFT_UNAVAILABLE;
@end

@class UIGestureRecognizer;

@interface NavigationController (SWIFT_EXTENSION(Material)) <UIGestureRecognizerDelegate>
/// Detects the gesture recognizer being used. This is necessary when using
/// NavigationDrawerController. It eliminates the conflict in panning.
/// \param gestureRecognizer A UIGestureRecognizer to detect.
///
/// \param touch The UITouch event.
///
///
/// returns:
/// A Boolean of whether to continue the gesture or not, true yes, false no.
- (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldReceiveTouch:(UITouch * _Nonnull)touch SWIFT_WARN_UNUSED_RESULT;
@end


@class UINavigationItem;

@interface NavigationController (SWIFT_EXTENSION(Material)) <UINavigationBarDelegate>
/// Delegation method that is called when a new UINavigationItem is about to be pushed.
/// This is used to prepare the transitions between UIViewControllers on the stack.
/// \param navigationBar A UINavigationBar that is used in the NavigationController.
///
/// \param item The UINavigationItem that will be pushed on the stack.
///
///
/// returns:
/// A Boolean value that indicates whether to push the item on to the stack or not.
/// True is yes, false is no.
- (BOOL)navigationBar:(UINavigationBar * _Nonnull)navigationBar shouldPushItem:(UINavigationItem * _Nonnull)item SWIFT_WARN_UNUSED_RESULT;
- (void)navigationBar:(UINavigationBar * _Nonnull)navigationBar didPopItem:(UINavigationItem * _Nonnull)item;
@end


@protocol NavigationDrawerControllerDelegate;
@protocol UIViewControllerTransitionCoordinator;

SWIFT_CLASS_NAMED("NavigationDrawerController")
@interface NavigationDrawerController : TransitionController
/// A CGFloat property that accesses the leftView threshold of
/// the NavigationDrawerController. When the panning gesture has
/// ended, if the position is beyond the threshold,
/// the leftView is opened, if it is below the threshold, the
/// leftView is closed.
@property (nonatomic) IBInspectable CGFloat leftThreshold;
/// A CGFloat property that accesses the rightView threshold of
/// the NavigationDrawerController. When the panning gesture has
/// ended, if the position is beyond the threshold,
/// the rightView is closed, if it is below the threshold, the
/// rightView is opened.
@property (nonatomic) IBInspectable CGFloat rightThreshold;
/// A NavigationDrawerControllerDelegate property used to bind
/// the delegation object.
@property (nonatomic, weak) id <NavigationDrawerControllerDelegate> _Nullable delegate;
/// A CGFloat property that sets the animation duration of the
/// leftView when closing and opening. Defaults to 0.25.
@property (nonatomic) IBInspectable NSTimeInterval animationDuration;
/// A Boolean property that enables and disables the leftView from
/// opening and closing. Defaults to true.
@property (nonatomic) IBInspectable BOOL isEnabled;
/// A Boolean property that enables and disables the leftView from
/// opening and closing. Defaults to true.
@property (nonatomic) IBInspectable BOOL isLeftViewEnabled;
/// Enables the left pan gesture.
@property (nonatomic) IBInspectable BOOL isLeftPanGestureEnabled;
/// Enables the left tap gesture.
@property (nonatomic) IBInspectable BOOL isLeftTapGestureEnabled;
/// A Boolean property that enables and disables the rightView from
/// opening and closing. Defaults to true.
@property (nonatomic) IBInspectable BOOL isRightViewEnabled;
/// Enables the right pan gesture.
@property (nonatomic) IBInspectable BOOL isRightPanGestureEnabled;
/// Enables the right tap gesture.
@property (nonatomic) IBInspectable BOOL isRightTapGestureEnabled;
/// A Boolean property that triggers the status bar to be isHidden
/// when the leftView is opened. Defaults to true.
@property (nonatomic) IBInspectable BOOL isHiddenStatusBarEnabled;
/// A UIView property that is used to hide and reveal the
/// leftViewController. It is very rare that this property will
/// need to be accessed externally.
@property (nonatomic, readonly, strong) UIView * _Nullable leftView;
/// A UIView property that is used to hide and reveal the
/// rightViewController. It is very rare that this property will
/// need to be accessed externally.
@property (nonatomic, readonly, strong) UIView * _Nullable rightView;
/// Indicates whether the leftView or rightView is opened.
@property (nonatomic, readonly) BOOL isOpened;
/// indicates if the leftView is opened.
@property (nonatomic, readonly) BOOL isLeftViewOpened;
/// Indicates if the rightView is opened.
@property (nonatomic, readonly) BOOL isRightViewOpened;
/// Content view controller to encompase the entire component. This is
/// primarily used when the StatusBar is being isHidden. The alpha value of
/// the rootViewController decreases, and shows the StatusBar. To avoid
/// this, and to add a isHidden transition viewController for complex
/// situations, the contentViewController was added.
@property (nonatomic, readonly, strong) UIViewController * _Nonnull contentViewController;
/// A UIViewController property that references the
/// active left UIViewController.
@property (nonatomic, readonly, strong) UIViewController * _Nullable leftViewController;
/// A UIViewController property that references the
/// active right UIViewController.
@property (nonatomic, readonly, strong) UIViewController * _Nullable rightViewController;
/// A CGFloat property to access the width that the leftView
/// opens up to.
@property (nonatomic, readonly) IBInspectable CGFloat leftViewWidth;
/// A CGFloat property to access the width that the rightView
/// opens up to.
@property (nonatomic, readonly) IBInspectable CGFloat rightViewWidth;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with an Optional nib and bundle.
/// \param nibNameOrNil An Optional String for the nib.
///
/// \param bundle An Optional NSBundle where the nib is located.
///
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
/// An initializer for the NavigationDrawerController.
/// \param rootViewController The main UIViewController.
///
/// \param leftViewController An Optional left UIViewController.
///
/// \param rightViewController An Optional right UIViewController.
///
- (nonnull instancetype)initWithRootViewController:(UIViewController * _Nonnull)rootViewController leftViewController:(UIViewController * _Nullable)leftViewController rightViewController:(UIViewController * _Nullable)rightViewController OBJC_DESIGNATED_INITIALIZER;
- (void)transitionTo:(UIViewController * _Nonnull)viewController completion:(void (^ _Nullable)(BOOL))completion;
/// Layout subviews.
- (void)layoutSubviews;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator> _Nonnull)coordinator;
- (void)prepare;
/// A method that is used to set the width of the leftView when
/// opened. This is the recommended method of setting the leftView
/// width.
/// \param width A CGFloat value to set as the new width.
///
/// \param isHidden A Boolean value of whether the leftView
/// should be isHidden after the width has been updated or not.
///
/// \param animated A Boolean value that indicates to animate
/// the leftView width change.
///
- (void)setLeftViewWidthWithWidth:(CGFloat)width isHidden:(BOOL)isHidden animated:(BOOL)animated duration:(NSTimeInterval)duration;
/// A method that is used to set the width of the rightView when
/// opened. This is the recommended method of setting the rightView
/// width.
/// \param width A CGFloat value to set as the new width.
///
/// \param isHidden A Boolean value of whether the rightView
/// should be isHidden after the width has been updated or not.
///
/// \param animated A Boolean value that indicates to animate
/// the rightView width change.
///
- (void)setRightViewWidthWithWidth:(CGFloat)width isHidden:(BOOL)isHidden animated:(BOOL)animated duration:(NSTimeInterval)duration;
/// A method that toggles the leftView opened if previously closed,
/// or closed if previously opened.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)toggleLeftViewWithVelocity:(CGFloat)velocity;
/// A method that toggles the rightView opened if previously closed,
/// or closed if previously opened.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)toggleRightViewWithVelocity:(CGFloat)velocity;
/// A method that opens the leftView.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)openLeftViewWithVelocity:(CGFloat)velocity;
/// A method that opens the rightView.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)openRightViewWithVelocity:(CGFloat)velocity;
/// A method that closes the leftView.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)closeLeftViewWithVelocity:(CGFloat)velocity;
/// A method that closes the rightView.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)closeRightViewWithVelocity:(CGFloat)velocity;
- (nonnull instancetype)initWithRootViewController:(UIViewController * _Nonnull)rootViewController SWIFT_UNAVAILABLE;
@end


@interface NavigationDrawerController (SWIFT_EXTENSION(Material)) <UIGestureRecognizerDelegate>
/// Detects the gesture recognizer being used.
/// \param gestureRecognizer A UIGestureRecognizer to detect.
///
/// \param touch The UITouch event.
///
///
/// returns:
/// A Boolean of whether to continue the gesture or not.
- (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldReceiveTouch:(UITouch * _Nonnull)touch SWIFT_WARN_UNUSED_RESULT;
@end


enum NavigationDrawerPosition : NSInteger;

SWIFT_PROTOCOL_NAMED("NavigationDrawerControllerDelegate")
@protocol NavigationDrawerControllerDelegate
@optional
/// An optional delegation method that is fired before the
/// NavigationDrawerController opens.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController willOpen:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired after the
/// NavigationDrawerController opened.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didOpen:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired before the
/// NavigationDrawerController closes.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController willClose:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired after the
/// NavigationDrawerController closed.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didClose:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// NavigationDrawerController pan gesture begins.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param didBeginPanAt point A CGPoint.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didBeginPanAt:(CGPoint)point position:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// NavigationDrawerController pan gesture changes position.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param didChangePanAt point A CGPoint.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didChangePanAt:(CGPoint)point position:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// NavigationDrawerController pan gesture ends.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param didEndPanAt point A CGPoint.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didEndPanAt:(CGPoint)point position:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// NavigationDrawerController tap gesture executes.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param didTapAt point A CGPoint.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didTapAt:(CGPoint)point position:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// status bar is about to change display, isHidden or not.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param statusBar isHidden A boolean.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController statusBar:(BOOL)isHidden;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, NavigationDrawerPosition, "NavigationDrawerPosition", open) {
  NavigationDrawerPositionLeft = 0,
  NavigationDrawerPositionRight = 1,
};


SWIFT_CLASS("_TtC8Material13PresenterCard")
@interface PresenterCard : Card
/// A reference to presenterViewEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets presenterViewEdgeInsets;
/// A reference to the presenterView.
@property (nonatomic, strong) IBInspectable UIView * _Nullable presenterView;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, PulseAnimation, "PulseAnimation", open) {
  PulseAnimationNone = 0,
  PulseAnimationCenter = 1,
  PulseAnimationCenterWithBacking = 2,
  PulseAnimationCenterRadialBeyondBounds = 3,
  PulseAnimationRadialBeyondBounds = 4,
  PulseAnimationBacking = 5,
  PulseAnimationPoint = 6,
  PulseAnimationPointWithBacking = 7,
};




SWIFT_CLASS("_TtC8Material11RadioButton")
@interface RadioButton : BaseIconLayerButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material12RaisedButton")
@interface RaisedButton : Button
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material9SearchBar")
@interface SearchBar : Bar
/// The UITextField for the searchBar.
@property (nonatomic, readonly, strong) IBInspectable UITextField * _Nonnull textField;
/// Handle the clearButton manually.
@property (nonatomic) IBInspectable BOOL isClearButtonAutoHandleEnabled;
/// TintColor for searchBar.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable tintColor;
/// TextColor for searchBar.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable textColor;
/// Sets the textField placeholder value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable placeholder;
/// Placeholder text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end




typedef SWIFT_ENUM_NAMED(NSInteger, SearchBarAlignment, "SearchBarAlignment", open) {
  SearchBarAlignmentTop = 0,
  SearchBarAlignmentBottom = 1,
};


SWIFT_CLASS("_TtC8Material19StatusBarController")
@interface StatusBarController : TransitionController
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material19SearchBarController")
@interface SearchBarController : StatusBarController
/// Reference to the SearchBar.
@property (nonatomic, readonly, strong) IBInspectable SearchBar * _Nonnull searchBar;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end




SWIFT_PROTOCOL_NAMED("SearchBarDelegate")
@protocol SearchBarDelegate
@optional
/// A delegation method that is executed when the textField changed.
/// \param searchBar A SearchBar.
///
/// \param didChange textField A UITextField.
///
/// \param with text An optional String.
///
- (void)searchBarWithSearchBar:(SearchBar * _Nonnull)searchBar didChange:(UITextField * _Nonnull)textField with:(NSString * _Nullable)text;
/// A delegation method that is executed when the textField will clear.
/// \param searchBar A SearchBar.
///
/// \param willClear textField A UITextField.
///
/// \param with text An optional String.
///
- (void)searchBarWithSearchBar:(SearchBar * _Nonnull)searchBar willClear:(UITextField * _Nonnull)textField with:(NSString * _Nullable)text;
/// A delegation method that is executed when the textField is cleared.
/// \param searchBar A SearchBar.
///
/// \param didClear textField A UITextField.
///
/// \param with text An optional String.
///
- (void)searchBarWithSearchBar:(SearchBar * _Nonnull)searchBar didClear:(UITextField * _Nonnull)textField with:(NSString * _Nullable)text;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, ShapePreset, "ShapePreset", open) {
  ShapePresetNone = 0,
  ShapePresetSquare = 1,
  ShapePresetCircle = 2,
};


SWIFT_CLASS("_TtC8Material8Snackbar")
@interface Snackbar : Bar
/// Text label.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull textLabel;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (UIView * _Nullable)hitTest:(CGPoint)point withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, SnackbarAlignment, "SnackbarAlignment", open) {
  SnackbarAlignmentTop = 0,
  SnackbarAlignmentBottom = 1,
};


SWIFT_CLASS("_TtC8Material18SnackbarController")
@interface SnackbarController : TransitionController
/// A reference to snackbarEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets snackbarEdgeInsets;
/// A boolean that controls if layoutEdgeInsets of snackbar is adjusted
/// automatically.
@property (nonatomic) IBInspectable BOOL automaticallyAdjustSnackbarLayoutEdgeInsets;
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator> _Nonnull)coordinator;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_PROTOCOL_NAMED("SnackbarControllerDelegate")
@protocol SnackbarControllerDelegate
@optional
/// A delegation method that is executed when a Snackbar will show.
/// \param snackbarController A SnackbarController.
///
/// \param snackbar A Snackbar.
///
- (void)snackbarControllerWithSnackbarController:(SnackbarController * _Nonnull)snackbarController willShow:(Snackbar * _Nonnull)snackbar;
/// A delegation method that is executed when a Snackbar did show.
/// \param snackbarController A SnackbarController.
///
/// \param snackbar A Snackbar.
///
- (void)snackbarControllerWithSnackbarController:(SnackbarController * _Nonnull)snackbarController didShow:(Snackbar * _Nonnull)snackbar;
/// A delegation method that is executed when a Snackbar will hide.
/// \param snackbarController A SnackbarController.
///
/// \param snackbar A Snackbar.
///
- (void)snackbarControllerWithSnackbarController:(SnackbarController * _Nonnull)snackbarController willHide:(Snackbar * _Nonnull)snackbar;
/// A delegation method that is executed when a Snackbar did hide.
/// \param snackbarController A SnackbarController.
///
/// \param snackbar A Snackbar.
///
- (void)snackbarControllerWithSnackbarController:(SnackbarController * _Nonnull)snackbarController didHide:(Snackbar * _Nonnull)snackbar;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, SnackbarStatus, "SnackbarStatus", open) {
  SnackbarStatusVisible = 0,
  SnackbarStatusHidden = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, SpringDirection, "SpringDirection", open) {
  SpringDirectionUp = 0,
  SpringDirectionDown = 1,
  SpringDirectionLeft = 2,
  SpringDirectionRight = 3,
};




SWIFT_CLASS("_TtC8Material6Switch")
@interface Switch : UIControl
/// Indicates if the animation should bounce.
@property (nonatomic) IBInspectable BOOL isBounceable;
/// Button on color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull buttonOnColor;
/// Button off color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull buttonOffColor;
/// Button on image.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable buttonOnImage;
/// Button off image.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable buttonOffImage;
/// Track on color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull trackOnColor;
/// Track off color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull trackOffColor;
/// Button on disabled color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull buttonOnDisabledColor;
/// Track on disabled color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull trackOnDisabledColor;
/// Button off disabled color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull buttonOffDisabledColor;
/// Track off disabled color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull trackOffDisabledColor;
/// Button on disabled image.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable buttonOnDisabledImage;
/// Button off disabled image.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable buttonOffDisabledImage;
@property (nonatomic, getter=isEnabled) IBInspectable BOOL enabled;
/// A boolean indicating if the switch is on or not.
@property (nonatomic) IBInspectable BOOL isOn;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init(state:style:size:) initializer, or set the CGRect
/// to CGRectNull.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
- (void)willMoveToSuperview:(UIView * _Nullable)newSuperview;
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end






enum SwitchState : NSInteger;

SWIFT_PROTOCOL_NAMED("SwitchDelegate")
@protocol SwitchDelegate
/// A Switch delegate method for state changes.
/// \param control Switch control.
///
/// \param state SwitchState value.
///
- (void)switchDidChangeStateWithControl:(Switch * _Nonnull)control state:(enum SwitchState)state;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, SwitchState, "SwitchState", open) {
  SwitchStateOn = 0,
  SwitchStateOff = 1,
};

@class TabItem;
enum TabBarLineAlignment : NSInteger;

SWIFT_CLASS("_TtC8Material6TabBar")
@interface TabBar : Bar
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets tabItemsContentEdgeInsets;
/// A wrapper around tabItems interimSpace.
@property (nonatomic) IBInspectable CGFloat tabItemsInterimSpace;
/// TabItems.
@property (nonatomic, copy) NSArray<TabItem *> * _Nonnull tabItems;
/// A value for the line alignment.
@property (nonatomic) enum TabBarLineAlignment lineAlignment;
/// The line height.
@property (nonatomic) CGFloat lineHeight;
/// The line color.
@property (nonatomic, strong) UIColor * _Nonnull lineColor;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end







@interface TabBar (SWIFT_EXTENSION(Material))
/// Selects a given index from the tabItems array.
/// <ul>
///   <li>
///     Paramater completion: An optional completion block.
///   </li>
/// </ul>
/// \param at index An Int.
///
- (void)selectAt:(NSInteger)index completion:(void (^ _Nullable)(TabItem * _Nonnull))completion;
@end





typedef SWIFT_ENUM_NAMED(NSInteger, TabBarAlignment, "TabBarAlignment", open) {
  TabBarAlignmentTop = 0,
  TabBarAlignmentBottom = 1,
};


SWIFT_PROTOCOL_NAMED("TabBarDelegate")
@protocol TabBarDelegate
@optional
/// A delegation method that is executed to determine if the TabBar should
/// transition to the next tab.
/// \param tabBar A TabBar.
///
/// \param tabItem A TabItem.
///
///
/// returns:
/// A Boolean.
- (BOOL)tabBarWithTabBar:(TabBar * _Nonnull)tabBar shouldSelect:(TabItem * _Nonnull)tabItem SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is executed when the tabItem will trigger the
/// animation to the next tab.
/// \param tabBar A TabBar.
///
/// \param tabItem A TabItem.
///
- (void)tabBarWithTabBar:(TabBar * _Nonnull)tabBar willSelect:(TabItem * _Nonnull)tabItem;
/// A delegation method that is executed when the tabItem did complete the
/// animation to the next tab.
/// \param tabBar A TabBar.
///
/// \param tabItem A TabItem.
///
- (void)tabBarWithTabBar:(TabBar * _Nonnull)tabBar didSelect:(TabItem * _Nonnull)tabItem;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, TabBarLineAlignment, "TabBarLineAlignment", open) {
  TabBarLineAlignmentTop = 0,
  TabBarLineAlignmentBottom = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, TabBarStyle, "TabBarStyle", open) {
  TabBarStyleAuto = 0,
  TabBarStyleNonScrollable = 1,
  TabBarStyleScrollable = 2,
};


SWIFT_CLASS("_TtC8Material7TabItem")
@interface TabItem : FlatButton
/// Sets the normal and highlighted image for the button.
@property (nonatomic, strong) UIImage * _Nullable image;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end




typedef SWIFT_ENUM_NAMED(NSInteger, TabItemLineState, "TabItemLineState", open) {
  TabItemLineStateSelected = 0,
};

typedef SWIFT_ENUM_NAMED(NSInteger, TabItemState, "TabItemState", open) {
  TabItemStateNormal = 0,
  TabItemStateHighlighted = 1,
  TabItemStateSelected = 2,
};


SWIFT_CLASS("_TtC8Material9TableView")
@interface TableView : UITableView
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object.
/// \param frame A CGRect defining the view’s frame.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame;
@end


SWIFT_CLASS("_TtC8Material13TableViewCell")
@interface TableViewCell : UITableViewCell
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object.
/// \param style A UITableViewCellStyle enum.
///
/// \param reuseIdentifier A String identifier.
///
- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end




SWIFT_CLASS("_TtC8Material19TableViewController")
@interface TableViewController : ViewController
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end




@interface TableViewController (SWIFT_EXTENSION(Material))
- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC8Material14TabsController")
@interface TabsController : TransitionController
/// The TabBar used to switch between view controllers.
@property (nonatomic, readonly, strong) IBInspectable TabBar * _Nonnull tabBar;
/// A reference to the currently selected view controller index value.
@property (nonatomic, readonly) IBInspectable NSInteger selectedIndex;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
@end









SWIFT_PROTOCOL_NAMED("TabsControllerDelegate")
@protocol TabsControllerDelegate
@optional
/// A delegation method that is executed to determine if the TabsController should
/// transition to the next view controller.
/// \param tabBar A TabsController.
///
/// \param tabItem A TabItem.
///
///
/// returns:
/// A Boolean.
- (BOOL)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController shouldSelect:(UIViewController * _Nonnull)viewController SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is executed when the view controller will transitioned to.
/// \param tabsController A TabsController.
///
/// \param viewController A UIViewController.
///
- (void)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController willSelect:(UIViewController * _Nonnull)viewController;
/// A delegation method that is executed when the view controller has been transitioned to.
/// \param tabsController A TabsController.
///
/// \param viewController A UIViewController.
///
- (void)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController didSelect:(UIViewController * _Nonnull)viewController;
/// A delegation method that is executed when the interactive transition to view controller
/// will be cancelled.
/// \param tabsController A TabsController.
///
/// \param viewController A UIViewController.
///
- (void)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController willCancelSelecting:(UIViewController * _Nonnull)viewController;
/// A delegation method that is executed when the interactive transition to view controller
/// has been cancelled.
/// \param tabsController A TabsController.
///
/// \param viewController A UIViewController.
///
- (void)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController didCancelSelecting:(UIViewController * _Nonnull)viewController;
@end










SWIFT_PROTOCOL_NAMED("TextFieldDelegate")
@protocol TextFieldDelegate <UITextFieldDelegate>
@optional
/// A delegation method that is executed when the textField changed.
/// \param textField A TextField.
///
/// \param didChange text An optional String.
///
- (void)textFieldWithTextField:(TextField * _Nonnull)textField didChange:(NSString * _Nullable)text;
/// A delegation method that is executed when the textField will clear.
/// \param textField A TextField.
///
/// \param willClear text An optional String.
///
- (void)textFieldWithTextField:(TextField * _Nonnull)textField willClear:(NSString * _Nullable)text;
/// A delegation method that is executed when the textField is cleared.
/// \param textField A TextField.
///
/// \param didClear text An optional String.
///
- (void)textFieldWithTextField:(TextField * _Nonnull)textField didClear:(NSString * _Nullable)text;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, TextFieldPlaceholderAnimation, "TextFieldPlaceholderAnimation", open) {
  TextFieldPlaceholderAnimationDefault = 0,
  TextFieldPlaceholderAnimationHidden = 1,
};

@class NSURL;
@class NSData;
@class NSAttributedStringMarkdownParsingOptions;
@class NSAttributedString;

SWIFT_CLASS("_TtC8Material11TextStorage")
@interface TextStorage : NSTextStorage
/// Initializer.
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// Initializer.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithFileURL:(NSURL * _Nonnull)url options:(NSDictionary * _Nonnull)options documentAttributes:(NSDictionary * _Nullable * _Nullable)dict error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithURL:(NSURL * _Nonnull)url options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> * _Nonnull)options documentAttributes:(NSDictionary * _Nullable * _Nullable)dict error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithData:(NSData * _Nonnull)data options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> * _Nonnull)options documentAttributes:(NSDictionary * _Nullable * _Nullable)dict error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithContentsOfMarkdownFileAtURL:(NSURL * _Nonnull)markdownFile options:(NSAttributedStringMarkdownParsingOptions * _Nullable)options baseURL:(NSURL * _Nullable)baseURL error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithMarkdown:(NSData * _Nonnull)markdown options:(NSAttributedStringMarkdownParsingOptions * _Nullable)options baseURL:(NSURL * _Nullable)baseURL error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithMarkdownString:(NSString * _Nonnull)markdownString options:(NSAttributedStringMarkdownParsingOptions * _Nullable)options baseURL:(NSURL * _Nullable)baseURL error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithString:(NSString * _Nonnull)str SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithString:(NSString * _Nonnull)str attributes:(NSDictionary<NSAttributedStringKey, id> * _Nullable)attrs SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithAttributedString:(NSAttributedString * _Nonnull)attrStr SWIFT_UNAVAILABLE;
@end


@interface TextStorage (SWIFT_EXTENSION(Material))
/// A String value of the attirbutedString property.
@property (nonatomic, readonly, copy) NSString * _Nonnull string;
/// Processes the text when editing.
- (void)processEditing;
/// Returns the attributes for the character at a given index.
/// \param location An Int
///
/// \param effectiveRange range Upon return, the range over which the
/// attributes and values are the same as those at index. This range
/// isn’t necessarily the maximum range covered, and its extent is
/// implementation-dependent. If you need the maximum range, use
/// attributesAtIndex:longestEffectiveRange:inRange:.
/// If you don’t need this value, pass NULL.
///
///
/// returns:
/// The attributes for the character at index.
- (NSDictionary<NSAttributedStringKey, id> * _Nonnull)attributesAtIndex:(NSUInteger)location effectiveRange:(NSRangePointer _Nullable)range SWIFT_WARN_UNUSED_RESULT;
/// Replaces a range of text with a string value.
/// \param range The character range to replace.
///
/// \param str The string value that the characters
/// will be replaced with.
///
- (void)replaceCharactersInRange:(NSRange)range withString:(NSString * _Nonnull)str;
/// Sets the attributedString attribute values.
/// \param attrs The attributes to set.
///
/// \param range A range of characters that will have their
/// attributes updated.
///
- (void)setAttributes:(NSDictionary<NSAttributedStringKey, id> * _Nullable)attrs range:(NSRange)range;
/// Adds an individual attribute.
/// \param _ name Attribute name.
///
/// \param value An Any type.
///
/// \param range A range of characters that will have their
/// attributes added.
///
- (void)addAttribute:(NSAttributedStringKey _Nonnull)name value:(id _Nonnull)value range:(NSRange)range;
/// Removes an individual attribute.
/// \param _ name Attribute name.
///
/// \param range A range of characters that will have their
/// attributes removed.
///
- (void)removeAttribute:(NSAttributedStringKey _Nonnull)name range:(NSRange)range;
@end

@class NSTextCheckingResult;

SWIFT_PROTOCOL_NAMED("TextStorageDelegate")
@protocol TextStorageDelegate <NSTextStorageDelegate>
@optional
/// A delegation method that is executed when text will be
/// processed during editing.
/// \param textStorage A TextStorage.
///
/// \param willProcessEditing text A String.
///
/// \param range A NSRange.
///
- (void)textStorageWithTextStorage:(TextStorage * _Nonnull)textStorage willProcessEditing:(NSString * _Nonnull)text range:(NSRange)range;
/// A delegation method that is executed when text has been
/// processed after editing.
/// \param textStorage A TextStorage.
///
/// \param didProcessEditing text A String.
///
/// \param result An optional NSTextCheckingResult.
///
/// \param flags NSRegularExpression.MatchingFlags.
///
/// \param top An UnsafeMutablePointer<ObjCBool>.
///
- (void)textStorageWithTextStorage:(TextStorage * _Nonnull)textStorage didProcessEditing:(NSString * _Nonnull)text result:(NSTextCheckingResult * _Nullable)result flags:(NSMatchingFlags)flags stop:(BOOL * _Nonnull)stop;
@end

@class NSTextContainer;

SWIFT_CLASS("_TtC8Material8TextView")
@interface TextView : UITextView
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// The placeholderLabel font value.
@property (nonatomic, strong) IBInspectable UIFont * _Nullable font;
/// The placeholderLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable placeholder;
/// The placeholder UILabel.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull placeholderLabel;
/// Placeholder normal text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderColor;
/// Handles the textAlignment of the placeholderLabel and textView itself.
@property (nonatomic) NSTextAlignment textAlignment;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// A reference to the textView text.
@property (nonatomic, copy) NSString * _Null_unspecified text;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
/// \param textContainer A NSTextContainer instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame textContainer:(NSTextContainer * _Nullable)textContainer OBJC_DESIGNATED_INITIALIZER;
/// A convenience initializer that constructs all aspects of the textView.
- (nonnull instancetype)init;
- (void)layoutSubviews;
@property (nonatomic) CGSize contentSize;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (void)insertText:(NSString * _Nonnull)text;
- (void)paste:(id _Nullable)sender;
@end





@interface TextView (SWIFT_EXTENSION(Material)) <TextStorageDelegate>
- (void)textStorageWithTextStorage:(TextStorage * _Nonnull)textStorage willProcessEditing:(NSString * _Nonnull)text range:(NSRange)range;
- (void)textStorageWithTextStorage:(TextStorage * _Nonnull)textStorage didProcessEditing:(NSString * _Nonnull)text result:(NSTextCheckingResult * _Nullable)result flags:(NSMatchingFlags)flags stop:(BOOL * _Nonnull)stop;
@end



@class NSValue;

SWIFT_PROTOCOL_NAMED("TextViewDelegate")
@protocol TextViewDelegate <UITextViewDelegate>
@optional
/// A delegation method that is executed when the keyboard will open.
/// \param textView A TextView.
///
/// \param willShowKeyboard value A NSValue.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView willShowKeyboard:(NSValue * _Nonnull)value;
/// A delegation method that is executed when the keyboard will close.
/// \param textView A TextView.
///
/// \param willHideKeyboard value A NSValue.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView willHideKeyboard:(NSValue * _Nonnull)value;
/// A delegation method that is executed when the keyboard did open.
/// \param textView A TextView.
///
/// \param didShowKeyboard value A NSValue.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView didShowKeyboard:(NSValue * _Nonnull)value;
/// A delegation method that is executed when the keyboard did close.
/// \param textView A TextView.
///
/// \param didHideKeyboard value A NSValue.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView didHideKeyboard:(NSValue * _Nonnull)value;
/// A delegation method that is executed when text will be
/// processed during editing.
/// \param textView A TextView.
///
/// \param willProcessEditing textStorage A TextStorage.
///
/// \param text A String.
///
/// \param range A NSRange.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView willProcessEditing:(TextStorage * _Nonnull)textStorage text:(NSString * _Nonnull)text range:(NSRange)range;
/// A delegation method that is executed when text has been
/// processed after editing.
/// \param textView A TextView.
///
/// \param didProcessEditing textStorage A TextStorage.
///
/// \param text A String.
///
/// \param range A NSRange.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView didProcessEditing:(TextStorage * _Nonnull)textStorage text:(NSString * _Nonnull)text range:(NSRange)range;
@end


SWIFT_CLASS("_TtC8Material7Toolbar")
@interface Toolbar : Bar
/// A convenience property to set the titleLabel.text.
@property (nonatomic, copy) IBInspectable NSString * _Nullable title;
/// Title label.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull titleLabel;
/// A convenience property to set the detailLabel.text.
@property (nonatomic, copy) IBInspectable NSString * _Nullable detail;
/// Detail label.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull detailLabel;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end


typedef SWIFT_ENUM_NAMED(NSInteger, ToolbarAlignment, "ToolbarAlignment", open) {
  ToolbarAlignmentTop = 0,
  ToolbarAlignmentBottom = 1,
};


SWIFT_CLASS_NAMED("ToolbarController")
@interface ToolbarController : StatusBarController
/// Reference to the Toolbar.
@property (nonatomic, readonly, strong) IBInspectable Toolbar * _Nonnull toolbar;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end
































@interface UIView (SWIFT_EXTENSION(Material))
/// A reference to grid’s layoutEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets layoutEdgeInsets;
@end



@interface UIView (SWIFT_EXTENSION(Material))
/// Divider color.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable dividerColor;
/// Divider visibility.
@property (nonatomic) IBInspectable BOOL isDividerHidden;
/// Divider thickness.
@property (nonatomic) IBInspectable CGFloat dividerThickness;
@end


@interface UIView (SWIFT_EXTENSION(Material))
/// A property that accesses the backing layer’s shadow
@property (nonatomic, strong) UIColor * _Nullable shadowColor;
/// A property that accesses the layer.borderColor property.
@property (nonatomic, strong) UIColor * _Nullable borderColor;
/// A property that manages the overall shape for the object. If either the
/// width or height property is set, the other will be automatically adjusted
/// to maintain the shape of the object.
@property (nonatomic) enum ShapePreset shapePreset;
/// Enables automatic shadowPath sizing.
@property (nonatomic) IBInspectable BOOL isShadowPathAutoSizing;
/// A property that sets the cornerRadius of the backing layer.
@property (nonatomic) enum CornerRadiusPreset cornerRadiusPreset;
/// A preset property to set the borderWidth.
@property (nonatomic) enum BorderWidthPreset borderWidthPreset;
@end




@interface UIViewController (SWIFT_EXTENSION(Material))
/// TabItem reference.
@property (nonatomic, readonly, strong) TabItem * _Nonnull tabItem;
@end


















#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif

#elif defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__
// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
#ifndef MATERIAL_SWIFT_H
#define MATERIAL_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"

#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif

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

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

#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
#  include <uchar.h>
# elif !defined(__cplusplus)
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 __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#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 __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_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# 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 __has_attribute(objc_designated_initializer)
#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
#  define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
#  define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
#  define SWIFT_EXTERN extern "C"
# else
#  define SWIFT_EXTERN extern
# endif
#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import CoreGraphics;
@import Foundation;
@import ObjectiveC;
@import QuartzCore;
@import UIKit;
#endif

#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"

#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Material",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif

@class UIImage;
@class UIColor;
@class NSCoder;

SWIFT_CLASS("_TtC8Material4View")
@interface View : UIView
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// A property that manages an image for the visualLayer’s contents
/// property. Images should not be set to the backing layer’s contents
/// property to avoid conflicts when using clipsToBounds.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Allows a relative subrectangle within the range of 0 to 1 to be
/// specified for the visualLayer’s contents property. This allows
/// much greater flexibility than the contentsGravity property in
/// terms of how the image is cropped and stretched.
@property (nonatomic) IBInspectable CGRect contentsRect;
/// A CGRect that defines a stretchable region inside the visualLayer
/// with a fixed border around the edge.
@property (nonatomic) IBInspectable CGRect contentsCenter;
/// A floating point value that defines a ratio between the pixel
/// dimensions of the visualLayer’s contents property and the size
/// of the view. By default, this value is set to the Screen.scale.
@property (nonatomic) IBInspectable CGFloat contentsScale;
/// Determines how content should be aligned within the visualLayer’s bounds.
@property (nonatomic) IBInspectable CALayerContentsGravity _Nonnull contentsGravity;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end


SWIFT_CLASS("_TtC8Material3Bar")
@interface Bar : View
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets contentEdgeInsets;
/// A wrapper around grid.interimSpace.
@property (nonatomic) IBInspectable CGFloat interimSpace;
/// Grid cell factor.
@property (nonatomic) IBInspectable CGFloat gridFactor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end


@class NSString;
@class UITouch;
@class UIEvent;

SWIFT_CLASS("_TtC8Material6Button")
@interface Button : UIButton
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// Sets the normal and highlighted image for the button.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Sets the normal and highlighted title for the button.
@property (nonatomic, copy) IBInspectable NSString * _Nullable title;
/// Sets the normal and highlighted titleColor for the button.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable titleColor;
/// Sets the selected titleColor for the button.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable selectedTitleColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end


/// Implements common logic for CheckButton and RadioButton
SWIFT_CLASS("_TtC8Material19BaseIconLayerButton")
@interface BaseIconLayerButton : Button
/// A Boolean value indicating whether the button is in the selected state
/// Use <code>setSelected(_:, animated:)</code> if the state change needs to be animated
@property (nonatomic, getter=isSelected) BOOL selected;
/// A Boolean value indicating whether the control is enabled.
@property (nonatomic, getter=isEnabled) BOOL enabled;
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


typedef SWIFT_ENUM_NAMED(NSInteger, BorderWidthPreset, "BorderWidthPreset", open) {
  BorderWidthPresetNone = 0,
  BorderWidthPresetBorder1 = 1,
  BorderWidthPresetBorder2 = 2,
  BorderWidthPresetBorder3 = 3,
  BorderWidthPresetBorder4 = 4,
  BorderWidthPresetBorder5 = 5,
  BorderWidthPresetBorder6 = 6,
  BorderWidthPresetBorder7 = 7,
  BorderWidthPresetBorder8 = 8,
  BorderWidthPresetBorder9 = 9,
};

@class NSBundle;

SWIFT_CLASS("_TtC8Material26BottomNavigationController")
@interface BottomNavigationController : UITabBarController
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with an Optional nib and bundle.
/// \param nibNameOrNil An Optional String for the nib.
///
/// \param bundle An Optional NSBundle where the nib is located.
///
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
/// An initializer that accepts no parameters.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (void)viewDidLoad;
- (void)viewWillLayoutSubviews;
@end












@interface CALayer (SWIFT_EXTENSION(Material))
/// A property that accesses the frame.origin.x property.
@property (nonatomic) IBInspectable CGFloat x;
/// A property that accesses the frame.origin.y property.
@property (nonatomic) IBInspectable CGFloat y;
/// A property that accesses the frame.size.width property.
@property (nonatomic) IBInspectable CGFloat width;
/// A property that accesses the frame.size.height property.
@property (nonatomic) IBInspectable CGFloat height;
/// Enables automatic shadowPath sizing.
@property (nonatomic) IBInspectable BOOL isShadowPathAutoSizing;
@end


SWIFT_CLASS("_TtC8Material9PulseView")
@interface PulseView : View
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

enum CornerRadiusPreset : NSInteger;
enum ShapePreset : NSInteger;
@class Toolbar;

SWIFT_CLASS("_TtC8Material4Card")
@interface Card : PulseView
@property (nonatomic) IBInspectable enum CornerRadiusPreset cornerRadiusPreset;
@property (nonatomic) IBInspectable CGFloat cornerRadius;
@property (nonatomic) enum ShapePreset shapePreset;
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// A reference to the toolbar.
@property (nonatomic, strong) IBInspectable Toolbar * _Nullable toolbar;
/// A reference to toolbarEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets toolbarEdgeInsets;
/// A reference to the contentView.
@property (nonatomic, strong) IBInspectable UIView * _Nullable contentView;
/// A reference to contentViewEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets contentViewEdgeInsets;
/// A reference to the bottomBar.
@property (nonatomic, strong) IBInspectable Bar * _Nullable bottomBar;
/// A reference to bottomBarEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets bottomBarEdgeInsets;
/// An initializer that accepts a NSCoder.
/// \param coder aDecoder A NSCoder.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that accepts a CGRect.
/// \param frame A CGRect.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end



SWIFT_CLASS_NAMED("CollectionViewCell")
@interface CollectionViewCell : UICollectionViewCell
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A property that manages an image for the visualLayer’s contents
/// property. Images should not be set to the backing layer’s contents
/// property to avoid conflicts when using clipsToBounds.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Allows a relative subrectangle within the range of 0 to 1 to be
/// specified for the visualLayer’s contents property. This allows
/// much greater flexibility than the contentsGravity property in
/// terms of how the image is cropped and stretched.
@property (nonatomic) IBInspectable CGRect contentsRect;
/// A CGRect that defines a stretchable region inside the visualLayer
/// with a fixed border around the edge.
@property (nonatomic) IBInspectable CGRect contentsCenter;
/// A floating point value that defines a ratio between the pixel
/// dimensions of the visualLayer’s contents property and the size
/// of the view. By default, this value is set to the Screen.scale.
@property (nonatomic) IBInspectable CGFloat contentsScale;
/// Determines how content should be aligned within the visualLayer’s bounds.
@property (nonatomic) IBInspectable CALayerContentsGravity _Nonnull contentsGravity;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end


SWIFT_CLASS("_TtC8Material22CardCollectionViewCell")
@interface CardCollectionViewCell : CollectionViewCell
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material14ViewController")
@interface ViewController : UIViewController
- (void)viewDidLoad;
- (void)viewWillLayoutSubviews;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material28CardCollectionViewController")
@interface CardCollectionViewController : ViewController
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end




@class UICollectionView;
@class NSIndexPath;

@interface CardCollectionViewController (SWIFT_EXTENSION(Material))
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC8Material11CheckButton")
@interface CheckButton : BaseIconLayerButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material7ChipBar")
@interface ChipBar : Bar
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets chipItemsContentEdgeInsets;
/// A wrapper around chipItems interimSpace.
@property (nonatomic) IBInspectable CGFloat chipItemsInterimSpace;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end







typedef SWIFT_ENUM_NAMED(NSInteger, ChipBarAlignment, "ChipBarAlignment", open) {
  ChipBarAlignmentTop = 0,
  ChipBarAlignmentBottom = 1,
  ChipBarAlignmentHidden = 2,
};


SWIFT_CLASS("_TtC8Material20TransitionController")
@interface TransitionController : ViewController
/// A Boolean property used to enable and disable interactivity
/// with the rootViewController.
@property (nonatomic) IBInspectable BOOL isUserInteractionEnabled;
@property (nonatomic, readonly, strong) UIViewController * _Nullable childViewControllerForStatusBarStyle;
@property (nonatomic, readonly, strong) UIViewController * _Nullable childViewControllerForStatusBarHidden;
@property (nonatomic, readonly, strong) UIViewController * _Nullable childViewControllerForHomeIndicatorAutoHidden;
@property (nonatomic, readonly, strong) UIViewController * _Nullable childViewControllerForScreenEdgesDeferringSystemGestures;
/// A reference to the container view.
@property (nonatomic, readonly, strong) IBInspectable UIView * _Nonnull container;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with an Optional nib and bundle.
/// \param nibNameOrNil An Optional String for the nib.
///
/// \param bundle An Optional NSBundle where the nib is located.
///
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@property (nonatomic, readonly) BOOL shouldAutomaticallyForwardAppearanceMethods;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
@end


SWIFT_CLASS("_TtC8Material17ChipBarController")
@interface ChipBarController : TransitionController
/// The ChipBar used to switch between view controllers.
@property (nonatomic, readonly, strong) IBInspectable ChipBar * _Nonnull chipBar;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end



@class ChipItem;

SWIFT_PROTOCOL_NAMED("ChipBarDelegate")
@protocol ChipBarDelegate
@optional
/// A delegation method that is executed when the chipItem will trigger the
/// animation to the next chip.
/// \param chipBar A ChipBar.
///
/// \param chipItem A ChipItem.
///
- (void)chipBarWithChipBar:(ChipBar * _Nonnull)chipBar willSelect:(ChipItem * _Nonnull)chipItem;
/// A delegation method that is executed when the chipItem did complete the
/// animation to the next chip.
/// \param chipBar A ChipBar.
///
/// \param chipItem A ChipItem.
///
- (void)chipBarWithChipBar:(ChipBar * _Nonnull)chipBar didSelect:(ChipItem * _Nonnull)chipItem;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, ChipBarStyle, "ChipBarStyle", open) {
  ChipBarStyleAuto = 0,
  ChipBarStyleNonScrollable = 1,
  ChipBarStyleScrollable = 2,
};


SWIFT_CLASS("_TtC8Material10FlatButton")
@interface FlatButton : Button
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material8ChipItem")
@interface ChipItem : FlatButton
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end



typedef SWIFT_ENUM_NAMED(NSInteger, ChipItemStyle, "ChipItemStyle", open) {
  ChipItemStylePill = 0,
};


SWIFT_CLASS_NAMED("CollectionReusableView")
@interface CollectionReusableView : UICollectionReusableView
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A property that manages an image for the visualLayer’s contents
/// property. Images should not be set to the backing layer’s contents
/// property to avoid conflicts when using clipsToBounds.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Allows a relative subrectangle within the range of 0 to 1 to be
/// specified for the visualLayer’s contents property. This allows
/// much greater flexibility than the contentsGravity property in
/// terms of how the image is cropped and stretched.
@property (nonatomic) IBInspectable CGRect contentsRect;
/// A CGRect that defines a stretchable region inside the visualLayer
/// with a fixed border around the edge.
@property (nonatomic) IBInspectable CGRect contentsCenter;
/// A floating point value that defines a ratio between the pixel
/// dimensions of the visualLayer’s contents property and the size
/// of the view. By default, this value is set to the Screen.scale.
@property (nonatomic) IBInspectable CGFloat contentsScale;
/// Determines how content should be aligned within the visualLayer’s bounds.
@property (nonatomic) IBInspectable CALayerContentsGravity _Nonnull contentsGravity;
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets contentEdgeInsets;
/// A wrapper around grid.interimSpace.
@property (nonatomic) IBInspectable CGFloat interimSpace;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end



@class UICollectionViewLayout;

SWIFT_CLASS("_TtC8Material14CollectionView")
@interface CollectionView : UICollectionView
/// Spacing between items.
@property (nonatomic) IBInspectable CGFloat interimSpace;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object.
/// \param frame A CGRect defining the view’s frame.
///
/// \param collectionViewLayout A UICollectionViewLayout reference.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame collectionViewLayout:(UICollectionViewLayout * _Nonnull)layout OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object.
/// \param frame A CGRect defining the view’s frame.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
/// A convenience initializer that initializes the object.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end





SWIFT_CLASS("_TtC8Material24CollectionViewController")
@interface CollectionViewController : ViewController
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end





@interface CollectionViewController (SWIFT_EXTENSION(Material))
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC8Material20CollectionViewLayout")
@interface CollectionViewLayout : UICollectionViewLayout
@property (nonatomic, readonly) CGSize collectionViewContentSize;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end



@class UICollectionViewLayoutAttributes;

@interface CollectionViewLayout (SWIFT_EXTENSION(Material))
- (UICollectionViewLayoutAttributes * _Nullable)layoutAttributesForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
- (NSArray<UICollectionViewLayoutAttributes *> * _Nullable)layoutAttributesForElementsInRect:(CGRect)rect SWIFT_WARN_UNUSED_RESULT;
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds SWIFT_WARN_UNUSED_RESULT;
- (void)prepareLayout;
- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset SWIFT_WARN_UNUSED_RESULT;
@end

@class CIColor;
@class UITraitCollection;

SWIFT_CLASS("_TtC8Material5Color")
@interface Color : UIColor
- (nonnull instancetype)initWithWhite:(CGFloat)white alpha:(CGFloat)alpha OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithDisplayP3Red:(CGFloat)displayP3Red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha OBJC_DESIGNATED_INITIALIZER SWIFT_AVAILABILITY(ios,introduced=10.0);
- (nonnull instancetype)initWithCGColor:(CGColorRef _Nonnull)cgColor OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithPatternImage:(UIImage * _Nonnull)image OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithCIColor:(CIColor * _Nonnull)ciColor OBJC_DESIGNATED_INITIALIZER SWIFT_AVAILABILITY(ios,introduced=5.0);
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithDynamicProvider:(UIColor * _Nonnull (^ _Nonnull)(UITraitCollection * _Nonnull))dynamicProvider OBJC_DESIGNATED_INITIALIZER SWIFT_AVAILABILITY(ios,introduced=13.0);
@end


SWIFT_PROTOCOL_NAMED("ColorPalette")
@protocol ColorPalette
/// Material color code: 50
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten5;)
+ (UIColor * _Nonnull)lighten5 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 100
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten4;)
+ (UIColor * _Nonnull)lighten4 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 200
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten3;)
+ (UIColor * _Nonnull)lighten3 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 300
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten2;)
+ (UIColor * _Nonnull)lighten2 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 400
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull lighten1;)
+ (UIColor * _Nonnull)lighten1 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 500
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull base;)
+ (UIColor * _Nonnull)base SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 600
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull darken1;)
+ (UIColor * _Nonnull)darken1 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 700
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull darken2;)
+ (UIColor * _Nonnull)darken2 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 800
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull darken3;)
+ (UIColor * _Nonnull)darken3 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: 900
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull darken4;)
+ (UIColor * _Nonnull)darken4 SWIFT_WARN_UNUSED_RESULT;
@optional
/// Material color code: A100
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull accent1;)
+ (UIColor * _Nonnull)accent1 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: A200
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull accent2;)
+ (UIColor * _Nonnull)accent2 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: A400
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull accent3;)
+ (UIColor * _Nonnull)accent3 SWIFT_WARN_UNUSED_RESULT;
/// Material color code: A700
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) UIColor * _Nonnull accent4;)
+ (UIColor * _Nonnull)accent4 SWIFT_WARN_UNUSED_RESULT;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, ContentViewAlignment, "ContentViewAlignment", open) {
  ContentViewAlignmentFull = 0,
  ContentViewAlignmentCenter = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, CornerRadiusPreset, "CornerRadiusPreset", open) {
  CornerRadiusPresetNone = 0,
  CornerRadiusPresetCornerRadius1 = 1,
  CornerRadiusPresetCornerRadius2 = 2,
  CornerRadiusPresetCornerRadius3 = 3,
  CornerRadiusPresetCornerRadius4 = 4,
  CornerRadiusPresetCornerRadius5 = 5,
  CornerRadiusPresetCornerRadius6 = 6,
  CornerRadiusPresetCornerRadius7 = 7,
  CornerRadiusPresetCornerRadius8 = 8,
  CornerRadiusPresetCornerRadius9 = 9,
};

typedef SWIFT_ENUM_NAMED(NSInteger, DeviceModel, "DeviceModel", open) {
  DeviceModelIPodTouch5 = 0,
  DeviceModelIPodTouch6 = 1,
  DeviceModelIPhone4 = 2,
  DeviceModelIPhone4s = 3,
  DeviceModelIPhone5 = 4,
  DeviceModelIPhone5c = 5,
  DeviceModelIPhone5s = 6,
  DeviceModelIPhone6 = 7,
  DeviceModelIPhone6Plus = 8,
  DeviceModelIPhone6s = 9,
  DeviceModelIPhone6sPlus = 10,
  DeviceModelIPhone7 = 11,
  DeviceModelIPhone7Plus = 12,
  DeviceModelIPhone8 = 13,
  DeviceModelIPhone8Plus = 14,
  DeviceModelIPhoneX = 15,
  DeviceModelIPhoneXS = 16,
  DeviceModelIPhoneXSMax = 17,
  DeviceModelIPhoneXR = 18,
  DeviceModelIPhoneSE = 19,
  DeviceModelIPad2 = 20,
  DeviceModelIPad3 = 21,
  DeviceModelIPad4 = 22,
  DeviceModelIPadAir = 23,
  DeviceModelIPadAir2 = 24,
  DeviceModelIPadMini = 25,
  DeviceModelIPadMini2 = 26,
  DeviceModelIPadMini3 = 27,
  DeviceModelIPadMini4 = 28,
  DeviceModelIPadPro = 29,
  DeviceModelIPadProLarge = 30,
  DeviceModelIPad5 = 31,
  DeviceModelIPadPro2 = 32,
  DeviceModelIPadProLarge2 = 33,
  DeviceModelIPad6 = 34,
  DeviceModelIPadPro3 = 35,
  DeviceModelIPadProLarge3 = 36,
  DeviceModelAppleTv = 37,
  DeviceModelAppleTv4k = 38,
  DeviceModelHomePod = 39,
  DeviceModelSimulator = 40,
  DeviceModelUnknown = 41,
};


/// A builder for DialogController.
SWIFT_CLASS("_TtC8Material6Dialog")
@interface Dialog : NSObject
/// An empty initializer.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end



SWIFT_PROTOCOL("_TtP8Material14DialogDelegate_")
@protocol DialogDelegate
@optional
/// A delegation method that is executed when the Dialog is cancelled through tapping background.
/// \param _ dialog A Dialog.
///
- (void)dialogDidCancel:(Dialog * _Nonnull)dialog;
/// A delegation method that is executed when the Dialog will appear.
/// \param _ dialog A Dialog.
///
- (void)dialogWillAppear:(Dialog * _Nonnull)dialog;
/// A delegation method that is executed when the Dialog did disappear.
/// \param _ dialog A Dialog.
///
- (void)dialogDidDisappear:(Dialog * _Nonnull)dialog;
/// A delegation method that is executed to determine if the Dialog should be dismissed.
/// \param _ dialog A Dialog.
///
/// \param shouldDismiss button The tapped button. nil if dialog is being
/// cancelled through tapping background.
///
///
/// returns:
/// A Boolean.
- (BOOL)dialog:(Dialog * _Nonnull)dialog shouldDismiss:(Button * _Nullable)button SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is executed when the positive button of Dialog is tapped.
/// \param _ dialog A Dialog.
///
/// \param didTapPositive button A Button.
///
- (void)dialog:(Dialog * _Nonnull)dialog didTapPositive:(Button * _Nonnull)button;
/// A delegation method that is executed when the negative button of Dialog is tapped.
/// \param _ dialog A Dialog.
///
/// \param didTapNegative button A Button.
///
- (void)dialog:(Dialog * _Nonnull)dialog didTapNegative:(Button * _Nonnull)button;
/// A delegation method that is executed when the neutral button of Dialog is tapped.
/// \param _ dialog A Dialog.
///
/// \param didTapNeutral button A Button.
///
- (void)dialog:(Dialog * _Nonnull)dialog didTapNeutral:(Button * _Nonnull)button;
@end


SWIFT_CLASS("_TtC8Material10DialogView")
@interface DialogView : View
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (CGSize)sizeThatFits:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end




typedef SWIFT_ENUM_NAMED(NSInteger, DisplayStyle, "DisplayStyle", open) {
  DisplayStylePartial = 0,
  DisplayStyleFull = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, DividerAlignment, "DividerAlignment", open) {
  DividerAlignmentTop = 0,
  DividerAlignmentLeft = 1,
  DividerAlignmentBottom = 2,
  DividerAlignmentRight = 3,
};


SWIFT_CLASS_NAMED("DynamicFontType")
@interface DynamicFontType : NSObject
/// Initializer.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_PROTOCOL_NAMED("DynamicFontTypeDelegate")
@protocol DynamicFontTypeDelegate
/// A delegation method that is executed when the dynamic type
/// is changed.
/// \param dynamicFontType A DynamicFontType.
///
- (void)dynamicFontTypeWithDynamicFontType:(DynamicFontType * _Nonnull)dynamicFontType;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, EdgeInsetsPreset, "EdgeInsetsPreset", open) {
  EdgeInsetsPresetNone = 0,
  EdgeInsetsPresetSquare1 = 1,
  EdgeInsetsPresetSquare2 = 2,
  EdgeInsetsPresetSquare3 = 3,
  EdgeInsetsPresetSquare4 = 4,
  EdgeInsetsPresetSquare5 = 5,
  EdgeInsetsPresetSquare6 = 6,
  EdgeInsetsPresetSquare7 = 7,
  EdgeInsetsPresetSquare8 = 8,
  EdgeInsetsPresetSquare9 = 9,
  EdgeInsetsPresetSquare10 = 10,
  EdgeInsetsPresetSquare11 = 11,
  EdgeInsetsPresetSquare12 = 12,
  EdgeInsetsPresetSquare13 = 13,
  EdgeInsetsPresetSquare14 = 14,
  EdgeInsetsPresetSquare15 = 15,
  EdgeInsetsPresetWideRectangle1 = 16,
  EdgeInsetsPresetWideRectangle2 = 17,
  EdgeInsetsPresetWideRectangle3 = 18,
  EdgeInsetsPresetWideRectangle4 = 19,
  EdgeInsetsPresetWideRectangle5 = 20,
  EdgeInsetsPresetWideRectangle6 = 21,
  EdgeInsetsPresetWideRectangle7 = 22,
  EdgeInsetsPresetWideRectangle8 = 23,
  EdgeInsetsPresetWideRectangle9 = 24,
  EdgeInsetsPresetTallRectangle1 = 25,
  EdgeInsetsPresetTallRectangle2 = 26,
  EdgeInsetsPresetTallRectangle3 = 27,
  EdgeInsetsPresetTallRectangle4 = 28,
  EdgeInsetsPresetTallRectangle5 = 29,
  EdgeInsetsPresetTallRectangle6 = 30,
  EdgeInsetsPresetTallRectangle7 = 31,
  EdgeInsetsPresetTallRectangle8 = 32,
  EdgeInsetsPresetTallRectangle9 = 33,
/// horizontally
  EdgeInsetsPresetHorizontally1 = 34,
  EdgeInsetsPresetHorizontally2 = 35,
  EdgeInsetsPresetHorizontally3 = 36,
  EdgeInsetsPresetHorizontally4 = 37,
  EdgeInsetsPresetHorizontally5 = 38,
/// vertically
  EdgeInsetsPresetVertically1 = 39,
  EdgeInsetsPresetVertically2 = 40,
  EdgeInsetsPresetVertically3 = 41,
  EdgeInsetsPresetVertically4 = 42,
  EdgeInsetsPresetVertically5 = 43,
};

@class UILabel;

SWIFT_CLASS("_TtC8Material6Editor")
@interface Editor : View
/// The placeholder UILabel.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull placeholderLabel;
/// A Boolean that indicates if the placeholder label is animated.
@property (nonatomic) IBInspectable BOOL isPlaceholderAnimated;
/// Placeholder normal text color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderNormalColor;
/// Placeholder active text color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderActiveColor;
/// The scale of the active placeholder in relation to the inactive.
@property (nonatomic) IBInspectable CGFloat placeholderActiveScale;
/// This property adds a padding to placeholder y position animation
@property (nonatomic) IBInspectable CGFloat placeholderVerticalOffset;
/// This property adds a padding to placeholder x position animation
@property (nonatomic) IBInspectable CGFloat placeholderHorizontalOffset;
/// Divider normal height.
@property (nonatomic) IBInspectable CGFloat dividerNormalHeight;
/// Divider active height.
@property (nonatomic) IBInspectable CGFloat dividerActiveHeight;
/// Divider normal color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull dividerNormalColor;
/// Divider active color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull dividerActiveColor;
/// The detailLabel UILabel that is displayed.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull detailLabel;
/// The detailLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable detail;
/// The detailLabel text color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull detailColor;
/// Vertical distance for the detailLabel from the divider.
@property (nonatomic) IBInspectable CGFloat detailVerticalOffset;
- (void)layoutSubviews;
- (BOOL)becomeFirstResponder;
- (BOOL)resignFirstResponder;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end






@class UIFont;

SWIFT_CLASS("_TtC8Material9TextField")
@interface TextField : UITextField
/// Default size when using AutoLayout.
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// A Boolean that indicates if the placeholder label is animated.
@property (nonatomic) IBInspectable BOOL isPlaceholderAnimated;
@property (nonatomic, copy) NSString * _Nullable text;
@property (nonatomic, strong) UIView * _Nullable leftView;
/// Placeholder normal text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull leftViewNormalColor;
/// Placeholder active text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull leftViewActiveColor;
/// Divider normal height.
@property (nonatomic) IBInspectable CGFloat dividerNormalHeight;
/// Divider active height.
@property (nonatomic) IBInspectable CGFloat dividerActiveHeight;
/// Divider normal color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull dividerNormalColor;
/// Divider active color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull dividerActiveColor;
/// The placeholderLabel font value.
@property (nonatomic, strong) IBInspectable UIFont * _Nullable font;
/// The placeholderLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable placeholder;
@property (nonatomic, getter=isSecureTextEntry) BOOL secureTextEntry;
/// The placeholder UILabel.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull placeholderLabel;
/// Placeholder normal text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderNormalColor;
/// Placeholder active text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderActiveColor;
/// This property adds a padding to placeholder y position animation
@property (nonatomic) IBInspectable CGFloat placeholderVerticalOffset;
/// This property adds a padding to placeholder y position animation
@property (nonatomic) IBInspectable CGFloat placeholderHorizontalOffset;
/// The scale of the active placeholder in relation to the inactive
@property (nonatomic) IBInspectable CGFloat placeholderActiveScale;
/// The detailLabel UILabel that is displayed.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull detailLabel;
/// The detailLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable detail;
/// Detail text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull detailColor;
/// Vertical distance for the detailLabel from the divider.
@property (nonatomic) IBInspectable CGFloat detailVerticalOffset;
/// Handles the textAlignment of the placeholderLabel.
@property (nonatomic) NSTextAlignment textAlignment;
/// Enables the clearIconButton.
@property (nonatomic) IBInspectable BOOL isClearIconButtonEnabled;
/// Enables the automatic handling of the clearIconButton.
@property (nonatomic) IBInspectable BOOL isClearIconButtonAutoHandled;
/// Enables the visibilityIconButton.
@property (nonatomic) IBInspectable BOOL isVisibilityIconButtonEnabled;
/// Enables the automatic handling of the visibilityIconButton.
@property (nonatomic) IBInspectable BOOL isVisibilityIconButtonAutoHandled;
@property (nonatomic) IBInspectable BOOL isPlaceholderUppercasedWhenEditing;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
- (BOOL)becomeFirstResponder SWIFT_WARN_UNUSED_RESULT;
/// EdgeInsets for text.
@property (nonatomic) UIEdgeInsets textInsets;
- (CGRect)textRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
- (CGRect)editingRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC8Material14ErrorTextField")
@interface ErrorTextField : TextField
/// The errorLabel UILabel that is displayed.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull errorLabel;
/// The errorLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable error;
/// Error text color
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull errorColor;
/// Vertical distance for the errorLabel from the divider.
@property (nonatomic) IBInspectable CGFloat errorVerticalOffset;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end



SWIFT_CLASS("_TtC8Material9FABButton")
@interface FABButton : Button
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS_NAMED("FABMenu")
@interface FABMenu : View
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


@interface FABMenu (SWIFT_EXTENSION(Material))
/// Handles the hit test for the Menu and views outside of the Menu bounds.
/// \param _ point A CGPoint.
///
/// \param with event An optional UIEvent.
///
///
/// returns:
/// An optional UIView.
- (UIView * _Nullable)hitTest:(CGPoint)point withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT;
@end




SWIFT_CLASS("_TtC8Material17FABMenuController")
@interface FABMenuController : TransitionController
/// Reference to the MenuView.
@property (nonatomic, strong) IBInspectable FABMenu * _Nonnull fabMenu;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_PROTOCOL_NAMED("FABMenuDelegate")
@protocol FABMenuDelegate
@optional
/// A delegation method that is executed to determine whether fabMenu should open.
/// \param fabMenu A FABMenu.
///
- (BOOL)fabMenuShouldOpenWithFabMenu:(FABMenu * _Nonnull)fabMenu SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is execited when the fabMenu will open.
/// \param fabMenu A FABMenu.
///
- (void)fabMenuWillOpenWithFabMenu:(FABMenu * _Nonnull)fabMenu;
/// A delegation method that is execited when the fabMenu did open.
/// \param fabMenu A FABMenu.
///
- (void)fabMenuDidOpenWithFabMenu:(FABMenu * _Nonnull)fabMenu;
/// A delegation method that is executed to determine whether fabMenu should close.
/// \param fabMenu A FABMenu.
///
- (BOOL)fabMenuShouldCloseWithFabMenu:(FABMenu * _Nonnull)fabMenu SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is execited when the fabMenu will close.
/// \param fabMenu A FABMenu.
///
- (void)fabMenuWillCloseWithFabMenu:(FABMenu * _Nonnull)fabMenu;
/// A delegation method that is execited when the fabMenu did close.
/// \param fabMenu A FABMenu.
///
- (void)fabMenuDidCloseWithFabMenu:(FABMenu * _Nonnull)fabMenu;
/// A delegation method that is executed when the user taps while
/// the menu is opened.
/// \param fabMenu A FABMenu.
///
/// \param tappedAt point A CGPoint.
///
/// \param isOutside A boolean indicating whether the tap
/// was outside the menu button area.
///
- (void)fabMenuWithFabMenu:(FABMenu * _Nonnull)fabMenu tappedAt:(CGPoint)point isOutside:(BOOL)isOutside;
@end


@interface FABMenuController (SWIFT_EXTENSION(Material)) <FABMenuDelegate>
@end





typedef SWIFT_ENUM_NAMED(NSInteger, FABMenuDirection, "FABMenuDirection", open) {
  FABMenuDirectionUp = 0,
  FABMenuDirectionDown = 1,
  FABMenuDirectionLeft = 2,
  FABMenuDirectionRight = 3,
};


SWIFT_CLASS("_TtC8Material11FABMenuItem")
@interface FABMenuItem : View
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end



typedef SWIFT_ENUM_NAMED(NSInteger, FABMenuItemTitleLabelPosition, "FABMenuItemTitleLabelPosition", open) {
  FABMenuItemTitleLabelPositionLeft = 0,
  FABMenuItemTitleLabelPositionRight = 1,
};


typedef SWIFT_ENUM_NAMED(NSInteger, GridAxisDirection, "GridAxisDirection", open) {
  GridAxisDirectionAny = 0,
  GridAxisDirectionHorizontal = 1,
  GridAxisDirectionVertical = 2,
};


SWIFT_CLASS("_TtC8Material10IconButton")
@interface IconButton : Button
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

@class UIImageView;

SWIFT_CLASS("_TtC8Material9ImageCard")
@interface ImageCard : Card
/// A reference to imageViewEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets imageViewEdgeInsets;
/// A reference to the imageView.
@property (nonatomic, strong) IBInspectable UIImageView * _Nullable imageView;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, ImageFormat, "ImageFormat", open) {
  ImageFormatPng = 0,
  ImageFormatJpeg = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, InterimSpacePreset, "InterimSpacePreset", open) {
  InterimSpacePresetNone = 0,
  InterimSpacePresetInterimSpace1 = 1,
  InterimSpacePresetInterimSpace2 = 2,
  InterimSpacePresetInterimSpace3 = 3,
  InterimSpacePresetInterimSpace4 = 4,
  InterimSpacePresetInterimSpace5 = 5,
  InterimSpacePresetInterimSpace6 = 6,
  InterimSpacePresetInterimSpace7 = 7,
  InterimSpacePresetInterimSpace8 = 8,
  InterimSpacePresetInterimSpace9 = 9,
  InterimSpacePresetInterimSpace10 = 10,
  InterimSpacePresetInterimSpace11 = 11,
  InterimSpacePresetInterimSpace12 = 12,
  InterimSpacePresetInterimSpace13 = 13,
  InterimSpacePresetInterimSpace14 = 14,
  InterimSpacePresetInterimSpace15 = 15,
  InterimSpacePresetInterimSpace16 = 16,
  InterimSpacePresetInterimSpace17 = 17,
  InterimSpacePresetInterimSpace18 = 18,
};


SWIFT_CLASS_NAMED("Layer")
@interface Layer : CAShapeLayer
/// A property that manages an image for the visualLayer’s contents
/// property. Images should not be set to the backing layer’s contents
/// property to avoid conflicts when using clipsToBounds.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable image;
/// Allows a relative subrectangle within the range of 0 to 1 to be
/// specified for the visualLayer’s contents property. This allows
/// much greater flexibility than the contentsGravity property in
/// terms of how the image is cropped and stretched.
@property (nonatomic) CGRect contentsRect;
/// A CGRect that defines a stretchable region inside the visualLayer
/// with a fixed border around the edge.
@property (nonatomic) CGRect contentsCenter;
/// A floating point value that defines a ratio between the pixel
/// dimensions of the visualLayer’s contents property and the size
/// of the layer. By default, this value is set to the Screen.scale.
@property (nonatomic) IBInspectable CGFloat contentsScale;
/// Determines how content should be aligned within the visualLayer’s bounds.
@property (nonatomic) IBInspectable CALayerContentsGravity _Nonnull contentsGravity;
/// A property that sets the cornerRadius of the backing layer. If the shape
/// property has a value of .circle when the cornerRadius is set, it will
/// become .none, as it no longer maintains its circle shape.
@property (nonatomic) IBInspectable CGFloat cornerRadius;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer the same as init(). The layer parameter is ignored
/// to avoid crashes on certain architectures.
/// \param layer Any.
///
- (nonnull instancetype)initWithLayer:(id _Nonnull)layer OBJC_DESIGNATED_INITIALIZER;
/// A convenience initializer.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSublayers;
@end





SWIFT_CLASS("_TtC8Material13NavigationBar")
@interface NavigationBar : UINavigationBar
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets contentEdgeInsets;
/// A wrapper around grid.interimSpace.
@property (nonatomic) IBInspectable CGFloat interimSpace;
/// The back button image writes to the backIndicatorImage property and
/// backIndicatorTransitionMaskImage property.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable backButtonImage;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (CGSize)sizeThatFits:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
- (void)layoutSubviews;
@end



SWIFT_CLASS("_TtC8Material20NavigationController")
@interface NavigationController : UINavigationController
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with an Optional nib and bundle.
/// \param nibNameOrNil An Optional String for the nib.
///
/// \param bundle An Optional NSBundle where the nib is located.
///
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a rootViewController.
/// \param rootViewController A UIViewController for the rootViewController.
///
- (nonnull instancetype)initWithRootViewController:(UIViewController * _Nonnull)rootViewController OBJC_DESIGNATED_INITIALIZER;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidLoad;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillLayoutSubviews;
/// Sets whether the navigation bar is hidden.
/// \param _ hidden Specify true to hide the navigation bar or false to show it.
///
/// \param animated Specify true if you want to animate the change in visibility or false if you want the navigation bar to appear immediately.
///
- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated;
- (nonnull instancetype)initWithNavigationBarClass:(Class _Nullable)navigationBarClass toolbarClass:(Class _Nullable)toolbarClass SWIFT_UNAVAILABLE;
@end

@class UIGestureRecognizer;

@interface NavigationController (SWIFT_EXTENSION(Material)) <UIGestureRecognizerDelegate>
/// Detects the gesture recognizer being used. This is necessary when using
/// NavigationDrawerController. It eliminates the conflict in panning.
/// \param gestureRecognizer A UIGestureRecognizer to detect.
///
/// \param touch The UITouch event.
///
///
/// returns:
/// A Boolean of whether to continue the gesture or not, true yes, false no.
- (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldReceiveTouch:(UITouch * _Nonnull)touch SWIFT_WARN_UNUSED_RESULT;
@end


@class UINavigationItem;

@interface NavigationController (SWIFT_EXTENSION(Material)) <UINavigationBarDelegate>
/// Delegation method that is called when a new UINavigationItem is about to be pushed.
/// This is used to prepare the transitions between UIViewControllers on the stack.
/// \param navigationBar A UINavigationBar that is used in the NavigationController.
///
/// \param item The UINavigationItem that will be pushed on the stack.
///
///
/// returns:
/// A Boolean value that indicates whether to push the item on to the stack or not.
/// True is yes, false is no.
- (BOOL)navigationBar:(UINavigationBar * _Nonnull)navigationBar shouldPushItem:(UINavigationItem * _Nonnull)item SWIFT_WARN_UNUSED_RESULT;
- (void)navigationBar:(UINavigationBar * _Nonnull)navigationBar didPopItem:(UINavigationItem * _Nonnull)item;
@end


@protocol NavigationDrawerControllerDelegate;
@protocol UIViewControllerTransitionCoordinator;

SWIFT_CLASS_NAMED("NavigationDrawerController")
@interface NavigationDrawerController : TransitionController
/// A CGFloat property that accesses the leftView threshold of
/// the NavigationDrawerController. When the panning gesture has
/// ended, if the position is beyond the threshold,
/// the leftView is opened, if it is below the threshold, the
/// leftView is closed.
@property (nonatomic) IBInspectable CGFloat leftThreshold;
/// A CGFloat property that accesses the rightView threshold of
/// the NavigationDrawerController. When the panning gesture has
/// ended, if the position is beyond the threshold,
/// the rightView is closed, if it is below the threshold, the
/// rightView is opened.
@property (nonatomic) IBInspectable CGFloat rightThreshold;
/// A NavigationDrawerControllerDelegate property used to bind
/// the delegation object.
@property (nonatomic, weak) id <NavigationDrawerControllerDelegate> _Nullable delegate;
/// A CGFloat property that sets the animation duration of the
/// leftView when closing and opening. Defaults to 0.25.
@property (nonatomic) IBInspectable NSTimeInterval animationDuration;
/// A Boolean property that enables and disables the leftView from
/// opening and closing. Defaults to true.
@property (nonatomic) IBInspectable BOOL isEnabled;
/// A Boolean property that enables and disables the leftView from
/// opening and closing. Defaults to true.
@property (nonatomic) IBInspectable BOOL isLeftViewEnabled;
/// Enables the left pan gesture.
@property (nonatomic) IBInspectable BOOL isLeftPanGestureEnabled;
/// Enables the left tap gesture.
@property (nonatomic) IBInspectable BOOL isLeftTapGestureEnabled;
/// A Boolean property that enables and disables the rightView from
/// opening and closing. Defaults to true.
@property (nonatomic) IBInspectable BOOL isRightViewEnabled;
/// Enables the right pan gesture.
@property (nonatomic) IBInspectable BOOL isRightPanGestureEnabled;
/// Enables the right tap gesture.
@property (nonatomic) IBInspectable BOOL isRightTapGestureEnabled;
/// A Boolean property that triggers the status bar to be isHidden
/// when the leftView is opened. Defaults to true.
@property (nonatomic) IBInspectable BOOL isHiddenStatusBarEnabled;
/// A UIView property that is used to hide and reveal the
/// leftViewController. It is very rare that this property will
/// need to be accessed externally.
@property (nonatomic, readonly, strong) UIView * _Nullable leftView;
/// A UIView property that is used to hide and reveal the
/// rightViewController. It is very rare that this property will
/// need to be accessed externally.
@property (nonatomic, readonly, strong) UIView * _Nullable rightView;
/// Indicates whether the leftView or rightView is opened.
@property (nonatomic, readonly) BOOL isOpened;
/// indicates if the leftView is opened.
@property (nonatomic, readonly) BOOL isLeftViewOpened;
/// Indicates if the rightView is opened.
@property (nonatomic, readonly) BOOL isRightViewOpened;
/// Content view controller to encompase the entire component. This is
/// primarily used when the StatusBar is being isHidden. The alpha value of
/// the rootViewController decreases, and shows the StatusBar. To avoid
/// this, and to add a isHidden transition viewController for complex
/// situations, the contentViewController was added.
@property (nonatomic, readonly, strong) UIViewController * _Nonnull contentViewController;
/// A UIViewController property that references the
/// active left UIViewController.
@property (nonatomic, readonly, strong) UIViewController * _Nullable leftViewController;
/// A UIViewController property that references the
/// active right UIViewController.
@property (nonatomic, readonly, strong) UIViewController * _Nullable rightViewController;
/// A CGFloat property to access the width that the leftView
/// opens up to.
@property (nonatomic, readonly) IBInspectable CGFloat leftViewWidth;
/// A CGFloat property to access the width that the rightView
/// opens up to.
@property (nonatomic, readonly) IBInspectable CGFloat rightViewWidth;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with an Optional nib and bundle.
/// \param nibNameOrNil An Optional String for the nib.
///
/// \param bundle An Optional NSBundle where the nib is located.
///
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
/// An initializer for the NavigationDrawerController.
/// \param rootViewController The main UIViewController.
///
/// \param leftViewController An Optional left UIViewController.
///
/// \param rightViewController An Optional right UIViewController.
///
- (nonnull instancetype)initWithRootViewController:(UIViewController * _Nonnull)rootViewController leftViewController:(UIViewController * _Nullable)leftViewController rightViewController:(UIViewController * _Nullable)rightViewController OBJC_DESIGNATED_INITIALIZER;
- (void)transitionTo:(UIViewController * _Nonnull)viewController completion:(void (^ _Nullable)(BOOL))completion;
/// Layout subviews.
- (void)layoutSubviews;
- (void)viewWillAppear:(BOOL)animated;
- (void)viewDidAppear:(BOOL)animated;
- (void)viewWillDisappear:(BOOL)animated;
- (void)viewDidDisappear:(BOOL)animated;
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator> _Nonnull)coordinator;
- (void)prepare;
/// A method that is used to set the width of the leftView when
/// opened. This is the recommended method of setting the leftView
/// width.
/// \param width A CGFloat value to set as the new width.
///
/// \param isHidden A Boolean value of whether the leftView
/// should be isHidden after the width has been updated or not.
///
/// \param animated A Boolean value that indicates to animate
/// the leftView width change.
///
- (void)setLeftViewWidthWithWidth:(CGFloat)width isHidden:(BOOL)isHidden animated:(BOOL)animated duration:(NSTimeInterval)duration;
/// A method that is used to set the width of the rightView when
/// opened. This is the recommended method of setting the rightView
/// width.
/// \param width A CGFloat value to set as the new width.
///
/// \param isHidden A Boolean value of whether the rightView
/// should be isHidden after the width has been updated or not.
///
/// \param animated A Boolean value that indicates to animate
/// the rightView width change.
///
- (void)setRightViewWidthWithWidth:(CGFloat)width isHidden:(BOOL)isHidden animated:(BOOL)animated duration:(NSTimeInterval)duration;
/// A method that toggles the leftView opened if previously closed,
/// or closed if previously opened.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)toggleLeftViewWithVelocity:(CGFloat)velocity;
/// A method that toggles the rightView opened if previously closed,
/// or closed if previously opened.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)toggleRightViewWithVelocity:(CGFloat)velocity;
/// A method that opens the leftView.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)openLeftViewWithVelocity:(CGFloat)velocity;
/// A method that opens the rightView.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)openRightViewWithVelocity:(CGFloat)velocity;
/// A method that closes the leftView.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)closeLeftViewWithVelocity:(CGFloat)velocity;
/// A method that closes the rightView.
/// \param velocity A CGFloat value that sets the
/// velocity of the user interaction when animating the
/// leftView. Defaults to 0.
///
- (void)closeRightViewWithVelocity:(CGFloat)velocity;
- (nonnull instancetype)initWithRootViewController:(UIViewController * _Nonnull)rootViewController SWIFT_UNAVAILABLE;
@end


@interface NavigationDrawerController (SWIFT_EXTENSION(Material)) <UIGestureRecognizerDelegate>
/// Detects the gesture recognizer being used.
/// \param gestureRecognizer A UIGestureRecognizer to detect.
///
/// \param touch The UITouch event.
///
///
/// returns:
/// A Boolean of whether to continue the gesture or not.
- (BOOL)gestureRecognizer:(UIGestureRecognizer * _Nonnull)gestureRecognizer shouldReceiveTouch:(UITouch * _Nonnull)touch SWIFT_WARN_UNUSED_RESULT;
@end


enum NavigationDrawerPosition : NSInteger;

SWIFT_PROTOCOL_NAMED("NavigationDrawerControllerDelegate")
@protocol NavigationDrawerControllerDelegate
@optional
/// An optional delegation method that is fired before the
/// NavigationDrawerController opens.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController willOpen:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired after the
/// NavigationDrawerController opened.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didOpen:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired before the
/// NavigationDrawerController closes.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController willClose:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired after the
/// NavigationDrawerController closed.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didClose:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// NavigationDrawerController pan gesture begins.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param didBeginPanAt point A CGPoint.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didBeginPanAt:(CGPoint)point position:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// NavigationDrawerController pan gesture changes position.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param didChangePanAt point A CGPoint.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didChangePanAt:(CGPoint)point position:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// NavigationDrawerController pan gesture ends.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param didEndPanAt point A CGPoint.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didEndPanAt:(CGPoint)point position:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// NavigationDrawerController tap gesture executes.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param didTapAt point A CGPoint.
///
/// \param position The NavigationDrawerPosition.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController didTapAt:(CGPoint)point position:(enum NavigationDrawerPosition)position;
/// An optional delegation method that is fired when the
/// status bar is about to change display, isHidden or not.
/// \param navigationDrawerController A NavigationDrawerController.
///
/// \param statusBar isHidden A boolean.
///
- (void)navigationDrawerControllerWithNavigationDrawerController:(NavigationDrawerController * _Nonnull)navigationDrawerController statusBar:(BOOL)isHidden;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, NavigationDrawerPosition, "NavigationDrawerPosition", open) {
  NavigationDrawerPositionLeft = 0,
  NavigationDrawerPositionRight = 1,
};


SWIFT_CLASS("_TtC8Material13PresenterCard")
@interface PresenterCard : Card
/// A reference to presenterViewEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets presenterViewEdgeInsets;
/// A reference to the presenterView.
@property (nonatomic, strong) IBInspectable UIView * _Nullable presenterView;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, PulseAnimation, "PulseAnimation", open) {
  PulseAnimationNone = 0,
  PulseAnimationCenter = 1,
  PulseAnimationCenterWithBacking = 2,
  PulseAnimationCenterRadialBeyondBounds = 3,
  PulseAnimationRadialBeyondBounds = 4,
  PulseAnimationBacking = 5,
  PulseAnimationPoint = 6,
  PulseAnimationPointWithBacking = 7,
};




SWIFT_CLASS("_TtC8Material11RadioButton")
@interface RadioButton : BaseIconLayerButton
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material12RaisedButton")
@interface RaisedButton : Button
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material9SearchBar")
@interface SearchBar : Bar
/// The UITextField for the searchBar.
@property (nonatomic, readonly, strong) IBInspectable UITextField * _Nonnull textField;
/// Handle the clearButton manually.
@property (nonatomic) IBInspectable BOOL isClearButtonAutoHandleEnabled;
/// TintColor for searchBar.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable tintColor;
/// TextColor for searchBar.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable textColor;
/// Sets the textField placeholder value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable placeholder;
/// Placeholder text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end




typedef SWIFT_ENUM_NAMED(NSInteger, SearchBarAlignment, "SearchBarAlignment", open) {
  SearchBarAlignmentTop = 0,
  SearchBarAlignmentBottom = 1,
};


SWIFT_CLASS("_TtC8Material19StatusBarController")
@interface StatusBarController : TransitionController
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC8Material19SearchBarController")
@interface SearchBarController : StatusBarController
/// Reference to the SearchBar.
@property (nonatomic, readonly, strong) IBInspectable SearchBar * _Nonnull searchBar;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end




SWIFT_PROTOCOL_NAMED("SearchBarDelegate")
@protocol SearchBarDelegate
@optional
/// A delegation method that is executed when the textField changed.
/// \param searchBar A SearchBar.
///
/// \param didChange textField A UITextField.
///
/// \param with text An optional String.
///
- (void)searchBarWithSearchBar:(SearchBar * _Nonnull)searchBar didChange:(UITextField * _Nonnull)textField with:(NSString * _Nullable)text;
/// A delegation method that is executed when the textField will clear.
/// \param searchBar A SearchBar.
///
/// \param willClear textField A UITextField.
///
/// \param with text An optional String.
///
- (void)searchBarWithSearchBar:(SearchBar * _Nonnull)searchBar willClear:(UITextField * _Nonnull)textField with:(NSString * _Nullable)text;
/// A delegation method that is executed when the textField is cleared.
/// \param searchBar A SearchBar.
///
/// \param didClear textField A UITextField.
///
/// \param with text An optional String.
///
- (void)searchBarWithSearchBar:(SearchBar * _Nonnull)searchBar didClear:(UITextField * _Nonnull)textField with:(NSString * _Nullable)text;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, ShapePreset, "ShapePreset", open) {
  ShapePresetNone = 0,
  ShapePresetSquare = 1,
  ShapePresetCircle = 2,
};


SWIFT_CLASS("_TtC8Material8Snackbar")
@interface Snackbar : Bar
/// Text label.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull textLabel;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (UIView * _Nullable)hitTest:(CGPoint)point withEvent:(UIEvent * _Nullable)event SWIFT_WARN_UNUSED_RESULT;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, SnackbarAlignment, "SnackbarAlignment", open) {
  SnackbarAlignmentTop = 0,
  SnackbarAlignmentBottom = 1,
};


SWIFT_CLASS("_TtC8Material18SnackbarController")
@interface SnackbarController : TransitionController
/// A reference to snackbarEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets snackbarEdgeInsets;
/// A boolean that controls if layoutEdgeInsets of snackbar is adjusted
/// automatically.
@property (nonatomic) IBInspectable BOOL automaticallyAdjustSnackbarLayoutEdgeInsets;
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id <UIViewControllerTransitionCoordinator> _Nonnull)coordinator;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_PROTOCOL_NAMED("SnackbarControllerDelegate")
@protocol SnackbarControllerDelegate
@optional
/// A delegation method that is executed when a Snackbar will show.
/// \param snackbarController A SnackbarController.
///
/// \param snackbar A Snackbar.
///
- (void)snackbarControllerWithSnackbarController:(SnackbarController * _Nonnull)snackbarController willShow:(Snackbar * _Nonnull)snackbar;
/// A delegation method that is executed when a Snackbar did show.
/// \param snackbarController A SnackbarController.
///
/// \param snackbar A Snackbar.
///
- (void)snackbarControllerWithSnackbarController:(SnackbarController * _Nonnull)snackbarController didShow:(Snackbar * _Nonnull)snackbar;
/// A delegation method that is executed when a Snackbar will hide.
/// \param snackbarController A SnackbarController.
///
/// \param snackbar A Snackbar.
///
- (void)snackbarControllerWithSnackbarController:(SnackbarController * _Nonnull)snackbarController willHide:(Snackbar * _Nonnull)snackbar;
/// A delegation method that is executed when a Snackbar did hide.
/// \param snackbarController A SnackbarController.
///
/// \param snackbar A Snackbar.
///
- (void)snackbarControllerWithSnackbarController:(SnackbarController * _Nonnull)snackbarController didHide:(Snackbar * _Nonnull)snackbar;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, SnackbarStatus, "SnackbarStatus", open) {
  SnackbarStatusVisible = 0,
  SnackbarStatusHidden = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, SpringDirection, "SpringDirection", open) {
  SpringDirectionUp = 0,
  SpringDirectionDown = 1,
  SpringDirectionLeft = 2,
  SpringDirectionRight = 3,
};




SWIFT_CLASS("_TtC8Material6Switch")
@interface Switch : UIControl
/// Indicates if the animation should bounce.
@property (nonatomic) IBInspectable BOOL isBounceable;
/// Button on color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull buttonOnColor;
/// Button off color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull buttonOffColor;
/// Button on image.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable buttonOnImage;
/// Button off image.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable buttonOffImage;
/// Track on color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull trackOnColor;
/// Track off color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull trackOffColor;
/// Button on disabled color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull buttonOnDisabledColor;
/// Track on disabled color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull trackOnDisabledColor;
/// Button off disabled color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull buttonOffDisabledColor;
/// Track off disabled color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull trackOffDisabledColor;
/// Button on disabled image.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable buttonOnDisabledImage;
/// Button off disabled image.
@property (nonatomic, strong) IBInspectable UIImage * _Nullable buttonOffDisabledImage;
@property (nonatomic, getter=isEnabled) IBInspectable BOOL enabled;
/// A boolean indicating if the switch is on or not.
@property (nonatomic) IBInspectable BOOL isOn;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init(state:style:size:) initializer, or set the CGRect
/// to CGRectNull.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
- (void)willMoveToSuperview:(UIView * _Nullable)newSuperview;
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end






enum SwitchState : NSInteger;

SWIFT_PROTOCOL_NAMED("SwitchDelegate")
@protocol SwitchDelegate
/// A Switch delegate method for state changes.
/// \param control Switch control.
///
/// \param state SwitchState value.
///
- (void)switchDidChangeStateWithControl:(Switch * _Nonnull)control state:(enum SwitchState)state;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, SwitchState, "SwitchState", open) {
  SwitchStateOn = 0,
  SwitchStateOff = 1,
};

@class TabItem;
enum TabBarLineAlignment : NSInteger;

SWIFT_CLASS("_TtC8Material6TabBar")
@interface TabBar : Bar
/// A reference to EdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets tabItemsContentEdgeInsets;
/// A wrapper around tabItems interimSpace.
@property (nonatomic) IBInspectable CGFloat tabItemsInterimSpace;
/// TabItems.
@property (nonatomic, copy) NSArray<TabItem *> * _Nonnull tabItems;
/// A value for the line alignment.
@property (nonatomic) enum TabBarLineAlignment lineAlignment;
/// The line height.
@property (nonatomic) CGFloat lineHeight;
/// The line color.
@property (nonatomic, strong) UIColor * _Nonnull lineColor;
- (void)layoutSubviews;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end







@interface TabBar (SWIFT_EXTENSION(Material))
/// Selects a given index from the tabItems array.
/// <ul>
///   <li>
///     Paramater completion: An optional completion block.
///   </li>
/// </ul>
/// \param at index An Int.
///
- (void)selectAt:(NSInteger)index completion:(void (^ _Nullable)(TabItem * _Nonnull))completion;
@end





typedef SWIFT_ENUM_NAMED(NSInteger, TabBarAlignment, "TabBarAlignment", open) {
  TabBarAlignmentTop = 0,
  TabBarAlignmentBottom = 1,
};


SWIFT_PROTOCOL_NAMED("TabBarDelegate")
@protocol TabBarDelegate
@optional
/// A delegation method that is executed to determine if the TabBar should
/// transition to the next tab.
/// \param tabBar A TabBar.
///
/// \param tabItem A TabItem.
///
///
/// returns:
/// A Boolean.
- (BOOL)tabBarWithTabBar:(TabBar * _Nonnull)tabBar shouldSelect:(TabItem * _Nonnull)tabItem SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is executed when the tabItem will trigger the
/// animation to the next tab.
/// \param tabBar A TabBar.
///
/// \param tabItem A TabItem.
///
- (void)tabBarWithTabBar:(TabBar * _Nonnull)tabBar willSelect:(TabItem * _Nonnull)tabItem;
/// A delegation method that is executed when the tabItem did complete the
/// animation to the next tab.
/// \param tabBar A TabBar.
///
/// \param tabItem A TabItem.
///
- (void)tabBarWithTabBar:(TabBar * _Nonnull)tabBar didSelect:(TabItem * _Nonnull)tabItem;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, TabBarLineAlignment, "TabBarLineAlignment", open) {
  TabBarLineAlignmentTop = 0,
  TabBarLineAlignmentBottom = 1,
};

typedef SWIFT_ENUM_NAMED(NSInteger, TabBarStyle, "TabBarStyle", open) {
  TabBarStyleAuto = 0,
  TabBarStyleNonScrollable = 1,
  TabBarStyleScrollable = 2,
};


SWIFT_CLASS("_TtC8Material7TabItem")
@interface TabItem : FlatButton
/// Sets the normal and highlighted image for the button.
@property (nonatomic, strong) UIImage * _Nullable image;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
@end




typedef SWIFT_ENUM_NAMED(NSInteger, TabItemLineState, "TabItemLineState", open) {
  TabItemLineStateSelected = 0,
};

typedef SWIFT_ENUM_NAMED(NSInteger, TabItemState, "TabItemState", open) {
  TabItemStateNormal = 0,
  TabItemStateHighlighted = 1,
  TabItemStateSelected = 2,
};


SWIFT_CLASS("_TtC8Material9TableView")
@interface TableView : UITableView
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object.
/// \param frame A CGRect defining the view’s frame.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame;
@end


SWIFT_CLASS("_TtC8Material13TableViewCell")
@interface TableViewCell : UITableViewCell
/// PulseAnimation color.
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull pulseColor;
/// Pulse opacity.
@property (nonatomic) IBInspectable CGFloat pulseOpacity;
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object.
/// \param style A UITableViewCellStyle enum.
///
/// \param reuseIdentifier A String identifier.
///
- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
/// A delegation method that is executed when the view has began a
/// touch event.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// ended.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
/// A delegation method that is executed when the view touch event has
/// been cancelled.
/// \param touches A set of UITouch objects.
///
/// \param event A UIEvent object.
///
- (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
@end




SWIFT_CLASS("_TtC8Material19TableViewController")
@interface TableViewController : ViewController
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end




@interface TableViewController (SWIFT_EXTENSION(Material))
- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT;
- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC8Material14TabsController")
@interface TabsController : TransitionController
/// The TabBar used to switch between view controllers.
@property (nonatomic, readonly, strong) IBInspectable TabBar * _Nonnull tabBar;
/// A reference to the currently selected view controller index value.
@property (nonatomic, readonly) IBInspectable NSInteger selectedIndex;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE;
@end









SWIFT_PROTOCOL_NAMED("TabsControllerDelegate")
@protocol TabsControllerDelegate
@optional
/// A delegation method that is executed to determine if the TabsController should
/// transition to the next view controller.
/// \param tabBar A TabsController.
///
/// \param tabItem A TabItem.
///
///
/// returns:
/// A Boolean.
- (BOOL)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController shouldSelect:(UIViewController * _Nonnull)viewController SWIFT_WARN_UNUSED_RESULT;
/// A delegation method that is executed when the view controller will transitioned to.
/// \param tabsController A TabsController.
///
/// \param viewController A UIViewController.
///
- (void)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController willSelect:(UIViewController * _Nonnull)viewController;
/// A delegation method that is executed when the view controller has been transitioned to.
/// \param tabsController A TabsController.
///
/// \param viewController A UIViewController.
///
- (void)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController didSelect:(UIViewController * _Nonnull)viewController;
/// A delegation method that is executed when the interactive transition to view controller
/// will be cancelled.
/// \param tabsController A TabsController.
///
/// \param viewController A UIViewController.
///
- (void)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController willCancelSelecting:(UIViewController * _Nonnull)viewController;
/// A delegation method that is executed when the interactive transition to view controller
/// has been cancelled.
/// \param tabsController A TabsController.
///
/// \param viewController A UIViewController.
///
- (void)tabsControllerWithTabsController:(TabsController * _Nonnull)tabsController didCancelSelecting:(UIViewController * _Nonnull)viewController;
@end










SWIFT_PROTOCOL_NAMED("TextFieldDelegate")
@protocol TextFieldDelegate <UITextFieldDelegate>
@optional
/// A delegation method that is executed when the textField changed.
/// \param textField A TextField.
///
/// \param didChange text An optional String.
///
- (void)textFieldWithTextField:(TextField * _Nonnull)textField didChange:(NSString * _Nullable)text;
/// A delegation method that is executed when the textField will clear.
/// \param textField A TextField.
///
/// \param willClear text An optional String.
///
- (void)textFieldWithTextField:(TextField * _Nonnull)textField willClear:(NSString * _Nullable)text;
/// A delegation method that is executed when the textField is cleared.
/// \param textField A TextField.
///
/// \param didClear text An optional String.
///
- (void)textFieldWithTextField:(TextField * _Nonnull)textField didClear:(NSString * _Nullable)text;
@end

typedef SWIFT_ENUM_NAMED(NSInteger, TextFieldPlaceholderAnimation, "TextFieldPlaceholderAnimation", open) {
  TextFieldPlaceholderAnimationDefault = 0,
  TextFieldPlaceholderAnimationHidden = 1,
};

@class NSURL;
@class NSData;
@class NSAttributedStringMarkdownParsingOptions;
@class NSAttributedString;

SWIFT_CLASS("_TtC8Material11TextStorage")
@interface TextStorage : NSTextStorage
/// Initializer.
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// Initializer.
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithFileURL:(NSURL * _Nonnull)url options:(NSDictionary * _Nonnull)options documentAttributes:(NSDictionary * _Nullable * _Nullable)dict error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithURL:(NSURL * _Nonnull)url options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> * _Nonnull)options documentAttributes:(NSDictionary * _Nullable * _Nullable)dict error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithData:(NSData * _Nonnull)data options:(NSDictionary<NSAttributedStringDocumentReadingOptionKey, id> * _Nonnull)options documentAttributes:(NSDictionary * _Nullable * _Nullable)dict error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithContentsOfMarkdownFileAtURL:(NSURL * _Nonnull)markdownFile options:(NSAttributedStringMarkdownParsingOptions * _Nullable)options baseURL:(NSURL * _Nullable)baseURL error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithMarkdown:(NSData * _Nonnull)markdown options:(NSAttributedStringMarkdownParsingOptions * _Nullable)options baseURL:(NSURL * _Nullable)baseURL error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithMarkdownString:(NSString * _Nonnull)markdownString options:(NSAttributedStringMarkdownParsingOptions * _Nullable)options baseURL:(NSURL * _Nullable)baseURL error:(NSError * _Nullable * _Nullable)error SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithString:(NSString * _Nonnull)str SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithString:(NSString * _Nonnull)str attributes:(NSDictionary<NSAttributedStringKey, id> * _Nullable)attrs SWIFT_UNAVAILABLE;
- (nonnull instancetype)initWithAttributedString:(NSAttributedString * _Nonnull)attrStr SWIFT_UNAVAILABLE;
@end


@interface TextStorage (SWIFT_EXTENSION(Material))
/// A String value of the attirbutedString property.
@property (nonatomic, readonly, copy) NSString * _Nonnull string;
/// Processes the text when editing.
- (void)processEditing;
/// Returns the attributes for the character at a given index.
/// \param location An Int
///
/// \param effectiveRange range Upon return, the range over which the
/// attributes and values are the same as those at index. This range
/// isn’t necessarily the maximum range covered, and its extent is
/// implementation-dependent. If you need the maximum range, use
/// attributesAtIndex:longestEffectiveRange:inRange:.
/// If you don’t need this value, pass NULL.
///
///
/// returns:
/// The attributes for the character at index.
- (NSDictionary<NSAttributedStringKey, id> * _Nonnull)attributesAtIndex:(NSUInteger)location effectiveRange:(NSRangePointer _Nullable)range SWIFT_WARN_UNUSED_RESULT;
/// Replaces a range of text with a string value.
/// \param range The character range to replace.
///
/// \param str The string value that the characters
/// will be replaced with.
///
- (void)replaceCharactersInRange:(NSRange)range withString:(NSString * _Nonnull)str;
/// Sets the attributedString attribute values.
/// \param attrs The attributes to set.
///
/// \param range A range of characters that will have their
/// attributes updated.
///
- (void)setAttributes:(NSDictionary<NSAttributedStringKey, id> * _Nullable)attrs range:(NSRange)range;
/// Adds an individual attribute.
/// \param _ name Attribute name.
///
/// \param value An Any type.
///
/// \param range A range of characters that will have their
/// attributes added.
///
- (void)addAttribute:(NSAttributedStringKey _Nonnull)name value:(id _Nonnull)value range:(NSRange)range;
/// Removes an individual attribute.
/// \param _ name Attribute name.
///
/// \param range A range of characters that will have their
/// attributes removed.
///
- (void)removeAttribute:(NSAttributedStringKey _Nonnull)name range:(NSRange)range;
@end

@class NSTextCheckingResult;

SWIFT_PROTOCOL_NAMED("TextStorageDelegate")
@protocol TextStorageDelegate <NSTextStorageDelegate>
@optional
/// A delegation method that is executed when text will be
/// processed during editing.
/// \param textStorage A TextStorage.
///
/// \param willProcessEditing text A String.
///
/// \param range A NSRange.
///
- (void)textStorageWithTextStorage:(TextStorage * _Nonnull)textStorage willProcessEditing:(NSString * _Nonnull)text range:(NSRange)range;
/// A delegation method that is executed when text has been
/// processed after editing.
/// \param textStorage A TextStorage.
///
/// \param didProcessEditing text A String.
///
/// \param result An optional NSTextCheckingResult.
///
/// \param flags NSRegularExpression.MatchingFlags.
///
/// \param top An UnsafeMutablePointer<ObjCBool>.
///
- (void)textStorageWithTextStorage:(TextStorage * _Nonnull)textStorage didProcessEditing:(NSString * _Nonnull)text result:(NSTextCheckingResult * _Nullable)result flags:(NSMatchingFlags)flags stop:(BOOL * _Nonnull)stop;
@end

@class NSTextContainer;

SWIFT_CLASS("_TtC8Material8TextView")
@interface TextView : UITextView
/// A property that accesses the backing layer’s background
@property (nonatomic, strong) IBInspectable UIColor * _Nullable backgroundColor;
/// The placeholderLabel font value.
@property (nonatomic, strong) IBInspectable UIFont * _Nullable font;
/// The placeholderLabel text value.
@property (nonatomic, copy) IBInspectable NSString * _Nullable placeholder;
/// The placeholder UILabel.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull placeholderLabel;
/// Placeholder normal text
@property (nonatomic, strong) IBInspectable UIColor * _Nonnull placeholderColor;
/// Handles the textAlignment of the placeholderLabel and textView itself.
@property (nonatomic) NSTextAlignment textAlignment;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// A reference to the textView text.
@property (nonatomic, copy) NSString * _Null_unspecified text;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
/// \param textContainer A NSTextContainer instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame textContainer:(NSTextContainer * _Nullable)textContainer OBJC_DESIGNATED_INITIALIZER;
/// A convenience initializer that constructs all aspects of the textView.
- (nonnull instancetype)init;
- (void)layoutSubviews;
@property (nonatomic) CGSize contentSize;
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (void)insertText:(NSString * _Nonnull)text;
- (void)paste:(id _Nullable)sender;
@end





@interface TextView (SWIFT_EXTENSION(Material)) <TextStorageDelegate>
- (void)textStorageWithTextStorage:(TextStorage * _Nonnull)textStorage willProcessEditing:(NSString * _Nonnull)text range:(NSRange)range;
- (void)textStorageWithTextStorage:(TextStorage * _Nonnull)textStorage didProcessEditing:(NSString * _Nonnull)text result:(NSTextCheckingResult * _Nullable)result flags:(NSMatchingFlags)flags stop:(BOOL * _Nonnull)stop;
@end



@class NSValue;

SWIFT_PROTOCOL_NAMED("TextViewDelegate")
@protocol TextViewDelegate <UITextViewDelegate>
@optional
/// A delegation method that is executed when the keyboard will open.
/// \param textView A TextView.
///
/// \param willShowKeyboard value A NSValue.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView willShowKeyboard:(NSValue * _Nonnull)value;
/// A delegation method that is executed when the keyboard will close.
/// \param textView A TextView.
///
/// \param willHideKeyboard value A NSValue.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView willHideKeyboard:(NSValue * _Nonnull)value;
/// A delegation method that is executed when the keyboard did open.
/// \param textView A TextView.
///
/// \param didShowKeyboard value A NSValue.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView didShowKeyboard:(NSValue * _Nonnull)value;
/// A delegation method that is executed when the keyboard did close.
/// \param textView A TextView.
///
/// \param didHideKeyboard value A NSValue.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView didHideKeyboard:(NSValue * _Nonnull)value;
/// A delegation method that is executed when text will be
/// processed during editing.
/// \param textView A TextView.
///
/// \param willProcessEditing textStorage A TextStorage.
///
/// \param text A String.
///
/// \param range A NSRange.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView willProcessEditing:(TextStorage * _Nonnull)textStorage text:(NSString * _Nonnull)text range:(NSRange)range;
/// A delegation method that is executed when text has been
/// processed after editing.
/// \param textView A TextView.
///
/// \param didProcessEditing textStorage A TextStorage.
///
/// \param text A String.
///
/// \param range A NSRange.
///
- (void)textViewWithTextView:(TextView * _Nonnull)textView didProcessEditing:(TextStorage * _Nonnull)textStorage text:(NSString * _Nonnull)text range:(NSRange)range;
@end


SWIFT_CLASS("_TtC8Material7Toolbar")
@interface Toolbar : Bar
/// A convenience property to set the titleLabel.text.
@property (nonatomic, copy) IBInspectable NSString * _Nullable title;
/// Title label.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull titleLabel;
/// A convenience property to set the detailLabel.text.
@property (nonatomic, copy) IBInspectable NSString * _Nullable detail;
/// Detail label.
@property (nonatomic, readonly, strong) IBInspectable UILabel * _Nonnull detailLabel;
/// An initializer that initializes the object with a NSCoder object.
/// \param aDecoder A NSCoder instance.
///
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// An initializer that initializes the object with a CGRect object.
/// If AutoLayout is used, it is better to initilize the instance
/// using the init() initializer.
/// \param frame A CGRect instance.
///
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (void)layoutSubviews;
@end


typedef SWIFT_ENUM_NAMED(NSInteger, ToolbarAlignment, "ToolbarAlignment", open) {
  ToolbarAlignmentTop = 0,
  ToolbarAlignmentBottom = 1,
};


SWIFT_CLASS_NAMED("ToolbarController")
@interface ToolbarController : StatusBarController
/// Reference to the Toolbar.
@property (nonatomic, readonly, strong) IBInspectable Toolbar * _Nonnull toolbar;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER;
@end
































@interface UIView (SWIFT_EXTENSION(Material))
/// A reference to grid’s layoutEdgeInsets.
@property (nonatomic) IBInspectable UIEdgeInsets layoutEdgeInsets;
@end



@interface UIView (SWIFT_EXTENSION(Material))
/// Divider color.
@property (nonatomic, strong) IBInspectable UIColor * _Nullable dividerColor;
/// Divider visibility.
@property (nonatomic) IBInspectable BOOL isDividerHidden;
/// Divider thickness.
@property (nonatomic) IBInspectable CGFloat dividerThickness;
@end


@interface UIView (SWIFT_EXTENSION(Material))
/// A property that accesses the backing layer’s shadow
@property (nonatomic, strong) UIColor * _Nullable shadowColor;
/// A property that accesses the layer.borderColor property.
@property (nonatomic, strong) UIColor * _Nullable borderColor;
/// A property that manages the overall shape for the object. If either the
/// width or height property is set, the other will be automatically adjusted
/// to maintain the shape of the object.
@property (nonatomic) enum ShapePreset shapePreset;
/// Enables automatic shadowPath sizing.
@property (nonatomic) IBInspectable BOOL isShadowPathAutoSizing;
/// A property that sets the cornerRadius of the backing layer.
@property (nonatomic) enum CornerRadiusPreset cornerRadiusPreset;
/// A preset property to set the borderWidth.
@property (nonatomic) enum BorderWidthPreset borderWidthPreset;
@end




@interface UIViewController (SWIFT_EXTENSION(Material))
/// TabItem reference.
@property (nonatomic, readonly, strong) TabItem * _Nonnull tabItem;
@end


















#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif

#endif
