// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
#ifndef WOOSIM302_SWIFT_H
#define WOOSIM302_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 Foundation;
@import ObjectiveC;
#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="woosim302",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif


@class NSData;
enum CutType : uint8_t;
enum Charset : uint8_t;
enum McuType : uint8_t;
enum AlignType : uint8_t;
enum FontSize : uint8_t;
@class NSString;
enum BarcodeType : uint8_t;
enum GS1DatabarType : uint8_t;
enum PageDirection : uint8_t;

SWIFT_CLASS("_TtC9woosim3025WSCmd")
@interface WSCmd : NSObject
/// Clear the data in the printer buffer and reset the printer configuration
+ (NSData * _Nonnull)initPrinter SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT;
/// Print data and feed one line
+ (NSData * _Nonnull)printData SWIFT_WARN_UNUSED_RESULT;
/// Print data and feed specified dot length
/// \param dot Dot length to feed
///
+ (NSData * _Nonnull)printFeedWithDot:(uint8_t)dot SWIFT_WARN_UNUSED_RESULT;
/// Print data and feed specified line length
/// \param line Line length to feed
///
+ (NSData * _Nonnull)printFeedWithLine:(uint8_t)line SWIFT_WARN_UNUSED_RESULT;
/// Switch from standard mode to page mode
+ (NSData * _Nonnull)setPageMode SWIFT_WARN_UNUSED_RESULT;
/// Cut paper with selected mode
/// \param mode Cutting mode
///
+ (NSData * _Nonnull)cutPaper:(enum CutType)mode SWIFT_WARN_UNUSED_RESULT;
/// Save feeding length from the mark sensing position
/// \param dotSize Paper feeding length in dot unit
///
+ (NSData * _Nonnull)saveFeedLengthFromMark:(uint16_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Feed the paper to the movement position after mark sensing position
+ (NSData * _Nonnull)feedToMark SWIFT_WARN_UNUSED_RESULT;
/// Generate pulse to open cash drawer
+ (NSData * _Nonnull)openCashDrawer SWIFT_WARN_UNUSED_RESULT;
/// Request printer status.
/// The printer status value is different according to each printer model.
+ (NSData * _Nonnull)requestStatus SWIFT_WARN_UNUSED_RESULT;
/// Request printer status and battery capacity level.
/// The printer status value is different according to each printer model.
+ (NSData * _Nonnull)requestBatteryStatus SWIFT_WARN_UNUSED_RESULT;
/// Request device model name
+ (NSData * _Nonnull)requestDeviceName SWIFT_WARN_UNUSED_RESULT;
/// Request device version and firmware creation date
+ (NSData * _Nonnull)requestDeviceVersion SWIFT_WARN_UNUSED_RESULT;
/// Set character code table. Supported code tables are dependent on the MCU type of device.
/// \param charset Character code table
///
/// \param mcu Printer MCU type
///
+ (NSData * _Nonnull)setCodeTable:(enum Charset)charset mcu:(enum McuType)mcu SWIFT_WARN_UNUSED_RESULT;
/// Align text data in one line
/// \param mode Alignment type
///
+ (NSData * _Nonnull)alignText:(enum AlignType)mode SWIFT_WARN_UNUSED_RESULT;
/// Align content including barcode, TTF, image and so on
/// \param mode Alignment type
///
+ (NSData * _Nonnull)alignContent:(enum AlignType)mode SWIFT_WARN_UNUSED_RESULT;
/// Set font size. When the font size is changed, text style is initialized.
/// Supported font sizes are dependent on the selected code table and the MCU type of device.
/// \param size Font size
///
+ (NSData * _Nonnull)setFontSize:(enum FontSize)size SWIFT_WARN_UNUSED_RESULT;
/// Extend font size
/// \param width Horizontal extension from 1 to 8
///
/// \param height Vertical extension from 1 to 8
///
+ (NSData * _Nonnull)extendFontWithWidth:(uint8_t)width height:(uint8_t)height SWIFT_WARN_UNUSED_RESULT;
/// Turn the bold attribute on or off
/// \param enable If true, bold attribute is applied to the following text
///
+ (NSData * _Nonnull)setBold:(BOOL)enable SWIFT_WARN_UNUSED_RESULT;
/// Turn the underline attribute on or off
/// \param enable If true, underline attribute is applied to the following text
///
+ (NSData * _Nonnull)setUnderline:(BOOL)enable SWIFT_WARN_UNUSED_RESULT;
/// Turn the reverse attribute on or off
/// \param enable If true, bold attribute is applied to the following text
///
+ (NSData * _Nonnull)setReverse:(BOOL)enable SWIFT_WARN_UNUSED_RESULT;
/// Set right-side character spacing
/// \param dotSize Character spacing in dot unit
///
+ (NSData * _Nonnull)setCharSpace:(uint8_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Set line spacing
/// \param dotSize Line spacing in dot unit
///
+ (NSData * _Nonnull)setLineSpace:(uint8_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Reset line spacing
+ (NSData * _Nonnull)resetLineSpace SWIFT_WARN_UNUSED_RESULT;
/// Turn on or off upside printing
/// \param enable If true, upside-down printing is applied to the following text
///
+ (NSData * _Nonnull)setUpsideDown:(BOOL)enable SWIFT_WARN_UNUSED_RESULT;
/// Move printing position from the beginning of the line
/// \param dotSize The distance in dot unit from the beginning of the line
///
+ (NSData * _Nonnull)moveAbsPosition:(uint16_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Move printing position from the current position
/// \param dotSize The distance in dot unit from the current position
///
+ (NSData * _Nonnull)moveRelPosition:(uint16_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Set left margin
/// \param dotSize The left margin in dot unit from the beginning of the line
///
+ (NSData * _Nonnull)setLeftMargin:(uint16_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Set printing width after left margin
/// \param dotSize The printable width in dot unit
///
+ (NSData * _Nonnull)setPrintingWidth:(uint16_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Select TTF file stored in the printer
/// \param filename The TTF file name
///
+ (NSData * _Nonnull)selectTTF:(NSString * _Nonnull)filename SWIFT_WARN_UNUSED_RESULT;
/// Write some text in printable area with selected TTF file
/// \param text The string to be printed
///
/// \param width The TTF character width
///
/// \param height The TTF character height
///
+ (NSData * _Nonnull)writeTTF:(NSString * _Nonnull)text width:(uint8_t)width height:(uint8_t)height SWIFT_WARN_UNUSED_RESULT;
/// Set barcode width
/// \param width The barcode width in dot unit (1 ~ 8)
///
+ (NSData * _Nonnull)setBarcodeWidth:(uint8_t)width SWIFT_WARN_UNUSED_RESULT;
/// Set barcode height
/// \param height The barcode height in dot unit
///
+ (NSData * _Nonnull)setBarcodeHeight:(uint8_t)height SWIFT_WARN_UNUSED_RESULT;
/// Turn HRI character print mode on or off
/// \param enable If true, HRI characters are printed at the bottom of barcode
///
+ (NSData * _Nonnull)setBarcodeHri:(BOOL)enable SWIFT_WARN_UNUSED_RESULT;
/// Write 1D barcode
/// \param data The barcode source data
///
/// \param type The barcode type
///
+ (NSData * _Nonnull)writeBarcodeWithData:(NSArray<NSNumber *> * _Nonnull)data type:(enum BarcodeType)type SWIFT_WARN_UNUSED_RESULT;
/// Write 1D barcode
/// \param string The barcode source data
///
/// \param type The barcode type
///
+ (NSData * _Nonnull)writeBarcode:(NSString * _Nonnull)string type:(enum BarcodeType)type SWIFT_WARN_UNUSED_RESULT;
/// Write GS1 Databar
/// \param string GS1 Databar source data
///
/// \param type GS1 Databar type
///
/// \param segment segment per row(2 ~ 20) that should be even number. It is only valid for GS1 Databar Expanded Stacked type.
///
+ (NSData * _Nonnull)writeGS1Databar:(NSString * _Nonnull)string type:(enum GS1DatabarType)type segment:(uint8_t)segment SWIFT_WARN_UNUSED_RESULT;
/// Write PDF417 barcode
/// \param data barcode source data
///
/// \param column column number of 2D barcode (1 ~ 30)
///
/// \param secureLevel security level to restore when barcode image is damaged (0 ~ 8)
///
/// \param ratio horizontal and vertical ratio (2 ~ 5)
///
+ (NSData * _Nonnull)writePDF417:(NSData * _Nonnull)data column:(uint8_t)column secureLevel:(uint8_t)secureLevel ratio:(uint8_t)ratio SWIFT_WARN_UNUSED_RESULT;
/// Write Data Matrix barcode
/// \param data barcode source data
///
/// \param height height of symbol (0 : auto size)
///
/// \param width width of symbol (0 : auto size)
///
/// \param size module size (1 ~ 8)
///
+ (NSData * _Nonnull)writeDataMatrix:(NSData * _Nonnull)data height:(uint8_t)height width:(uint8_t)width size:(uint8_t)size SWIFT_WARN_UNUSED_RESULT;
/// Write QR Code
/// \param data barcode source data
///
/// \param version version of symbol (1 ~ 40, 0 : auto size)
///
/// \param ecLevel EC level (L: 7%, M: 15%, Q: 25%, H: 30%)
///
/// \param size module size (1 ~ 8)
///
+ (NSData * _Nonnull)writeQRcode:(NSData * _Nonnull)data version:(uint8_t)version ecLevel:(NSString * _Nonnull)ecLevel size:(uint8_t)size SWIFT_WARN_UNUSED_RESULT;
/// Write Micro PDF417 barcode
/// \param data barcode source data
///
/// \param column column number of 2D barcode (1 ~ 4)
///
/// \param row row number of 2D barcode (4 ~ 44, 0 : auto size)
///
/// \param ratio horizontal and vertical ratio (2 ~ 5)
///
+ (NSData * _Nonnull)writeMicroPDF417:(NSData * _Nonnull)data column:(uint8_t)column row:(uint8_t)row ratio:(uint8_t)ratio SWIFT_WARN_UNUSED_RESULT;
/// Write Truncated PDF417 barcode
/// \param data barcode source data
///
/// \param column column number of 2D barcode (1 ~ 4)
///
/// \param secureLevel security level to restore when barcode image is damaged (0 ~ 8)
///
/// \param ratio horizontal and vertical ratio (2 ~ 5)
///
+ (NSData * _Nonnull)writeTruncatedPDF417:(NSData * _Nonnull)data column:(uint8_t)column secureLevel:(uint8_t)secureLevel ratio:(uint8_t)ratio SWIFT_WARN_UNUSED_RESULT;
/// Write Maxicode
/// \param data barcode source data
///
/// \param mode Maxicode mode (2 ~ 6)
///
+ (NSData * _Nonnull)writeMaxicode:(NSData * _Nonnull)data mode:(uint8_t)mode SWIFT_WARN_UNUSED_RESULT;
/// Switch from page mode to standard mode
+ (NSData * _Nonnull)pageModeToStdMode SWIFT_WARN_UNUSED_RESULT;
/// Print data in page mode
+ (NSData * _Nonnull)pageModePrintData SWIFT_WARN_UNUSED_RESULT;
/// Print data in page mode and switch from page mode to standard mode
+ (NSData * _Nonnull)pageModePrintStdMode SWIFT_WARN_UNUSED_RESULT;
/// Delete data in page mode
+ (NSData * _Nonnull)pageModeDeleteData SWIFT_WARN_UNUSED_RESULT;
/// Set write area in page mode
/// \param x The horizontal start position of printing area in dot unit
///
/// \param y The vertical start position of printing area in dot unit
///
/// \param width The printing area width in dot unit
///
/// \param height The printing area height in dot unit
///
+ (NSData * _Nonnull)pageModeSetAreaWithX:(uint16_t)x y:(uint16_t)y width:(uint16_t)width height:(uint16_t)height SWIFT_WARN_UNUSED_RESULT;
/// Set print direction in page mode
/// \param direction The symbolic value to specify printing direction
///
+ (NSData * _Nonnull)pageModeSetDirection:(enum PageDirection)direction SWIFT_WARN_UNUSED_RESULT;
/// Set position in page mode
/// \param x The horizontal start position to print in dot unit
///
/// \param y The vertical start position to print in dot unit
///
+ (NSData * _Nonnull)pageModeSetPositionWithX:(uint16_t)x y:(uint16_t)y SWIFT_WARN_UNUSED_RESULT;
/// Move vertical printing position from the top of print area in page mode
/// \param dotSize The vertical distance in dot unit
///
+ (NSData * _Nonnull)pageModeMoveAbsVertical:(uint16_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Move vertical printing position from the current position in page mode
/// \param dotSize The vertical distance in dot unit
///
+ (NSData * _Nonnull)pageModeMoveRelVertical:(uint16_t)dotSize SWIFT_WARN_UNUSED_RESULT;
/// Set MSR read mode for 1st track
+ (NSData * _Nonnull)setMsrMode1stTrack SWIFT_WARN_UNUSED_RESULT;
/// Set MSR read mode for 2nd track
+ (NSData * _Nonnull)setMsrMode2ndTrack SWIFT_WARN_UNUSED_RESULT;
/// Set MSR read mode for double track
+ (NSData * _Nonnull)setMsrModeDoubleTrack SWIFT_WARN_UNUSED_RESULT;
/// Set MSR read mode for triple track
/// It is available for 123 track MSR.
+ (NSData * _Nonnull)setMsrModeTripleTrack SWIFT_WARN_UNUSED_RESULT;
/// Set MSR read mode for 3rd track.
/// It is available for 123 track MSR.
+ (NSData * _Nonnull)setMsrMode3rdTrack SWIFT_WARN_UNUSED_RESULT;
/// Exit MSR read mode
+ (NSData * _Nonnull)exitMsrMode SWIFT_WARN_UNUSED_RESULT;
/// Set SCR read mode
+ (NSData * _Nonnull)setScrMode SWIFT_WARN_UNUSED_RESULT;
/// Exit SCR read mode
+ (NSData * _Nonnull)exitScrMode SWIFT_WARN_UNUSED_RESULT;
/// Set non secure SCR read mode
+ (NSData * _Nonnull)setNonSecureScrMode SWIFT_WARN_UNUSED_RESULT;
/// Exit non secure SCR read mode
+ (NSData * _Nonnull)exitNonSecureScrMode SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

typedef SWIFT_ENUM(uint8_t, CutType, open) {
  CutTypeFull = 0x00,
  CutTypePartial = 0x01,
};

typedef SWIFT_ENUM(uint8_t, FontSize, open) {
  FontSizeLarge = 0x00,
  FontSizeMedium = 0x01,
  FontSizeSmall = 0x02,
};

typedef SWIFT_ENUM(uint8_t, AlignType, open) {
  AlignTypeLeft = 0x00,
  AlignTypeCenter = 0x01,
  AlignTypeRight = 0x02,
};

typedef SWIFT_ENUM(uint8_t, BarcodeType, open) {
  BarcodeTypeUPCA = 0x41,
  BarcodeTypeUPCE = 0x42,
  BarcodeTypeEAN13 = 0x43,
  BarcodeTypeEAN8 = 0x44,
  BarcodeTypeCode39 = 0x45,
  BarcodeTypeITF = 0x46,
  BarcodeTypeCodabar = 0x47,
  BarcodeTypeCode93 = 0x48,
  BarcodeTypeCode128 = 0x49,
};

typedef SWIFT_ENUM(uint8_t, GS1DatabarType, open) {
  GS1DatabarTypeOmnidirectional = 0x00,
  GS1DatabarTypeTruncated = 0x01,
  GS1DatabarTypeStacked = 0x02,
  GS1DatabarTypeStackedOmnidirectional = 0x03,
  GS1DatabarTypeLimited = 0x04,
  GS1DatabarTypeExpanded = 0x05,
  GS1DatabarTypeExpandedStacked = 0x06,
};

typedef SWIFT_ENUM(uint8_t, PageDirection, open) {
  PageDirectionLeftToRight = 0x00,
  PageDirectionBottomToTop = 0x01,
  PageDirectionRightToLeft = 0x02,
  PageDirectionTopToBottom = 0x03,
};

typedef SWIFT_ENUM(uint8_t, McuType, open) {
  McuTypeM16C = 0,
  McuTypeARM = 1,
  McuTypeRX = 2,
};

typedef SWIFT_ENUM(uint8_t, Charset, open) {
  CharsetCP437 = 0,
  CharsetKatakana = 1,
  CharsetCP850 = 2,
  CharsetCP860 = 3,
  CharsetCP863 = 4,
  CharsetCP865 = 5,
  CharsetCP852 = 6,
  CharsetCP857 = 7,
  CharsetCP737 = 8,
  CharsetCP866 = 9,
  CharsetCP862 = 10,
  CharsetCP775 = 11,
  CharsetPolish = 12,
  CharsetISO8859_15 = 13,
  CharsetWin1252 = 14,
  CharsetCP858 = 15,
  CharsetCP855 = 16,
  CharsetWin1251 = 17,
  CharsetWin1250 = 18,
  CharsetWin1253 = 19,
  CharsetWin1254 = 20,
  CharsetWin1255 = 21,
  CharsetWin1258 = 22,
  CharsetWin1257 = 23,
  CharsetAzerbaijani = 24,
  CharsetCP874 = 30,
  CharsetCP720 = 40,
  CharsetWin1256 = 41,
  CharsetFarsi = 42,
  CharsetArabicPFB = 43,
  CharsetHindi = 50,
  CharsetDBCS = 0xFF,
};

@class UIImage;

SWIFT_CLASS("_TtC9woosim3027WSImage")
@interface WSImage : NSObject
/// Draw a line in page mode
/// \param x1 The x-coordinate of start point
///
/// \param y1 The y-coordinate of start point
///
/// \param x2 The x-coordinate of end point
///
/// \param y2 The y-coordinate of ent point
///
/// \param thick The thickness of line
///
+ (NSData * _Nonnull)drawLineWithX1:(uint16_t)x1 y1:(uint16_t)y1 x2:(uint16_t)x2 y2:(uint16_t)y2 thick:(uint8_t)thick SWIFT_WARN_UNUSED_RESULT;
/// Draw a rectangle in page mode
/// \param x The x-coordinate of left-upper point of rectangle
///
/// \param y The y-coordinate of left-upper point of rectangle
///
/// \param width The rectangle width in dot unit
///
/// \param height The rectangle height in dot unit
///
/// \param thick The thickness of line
///
+ (NSData * _Nonnull)drawRectWithX:(uint16_t)x y:(uint16_t)y width:(uint16_t)width height:(uint16_t)height thick:(uint8_t)thick SWIFT_WARN_UNUSED_RESULT;
/// Draw an ellipse in page mode
/// \param x The x-coordinate of central point
///
/// \param y The y-coordinate of central point
///
/// \param radiusW The radius of horizontal axis
///
/// \param radiusH The radius of vertical axis
///
/// \param thick The thickness of line
///
+ (NSData * _Nonnull)drawEllipseWithX:(uint16_t)x y:(uint16_t)y radiusW:(uint16_t)radiusW radiusH:(uint16_t)radiusH thick:(uint8_t)thick SWIFT_WARN_UNUSED_RESULT;
/// Draw an image in page mode
/// \param image The image object to draw
///
/// \param x The x-coordinate of left-upper point to draw image
///
/// \param y The y-coordinate of left-upper point to draw image
///
/// \param dithering If true, the image will be drawn with dithering technique
///
/// \param compress If true, the image data will be delivered in compressed form
///
+ (NSData * _Nonnull)drawImage:(UIImage * _Nonnull)image x:(uint16_t)x y:(uint16_t)y dithering:(BOOL)dithering compress:(BOOL)compress SWIFT_WARN_UNUSED_RESULT;
/// Print an image that was downloaded in the printer
/// \param index The index of image stored in printer
///
+ (NSData * _Nonnull)printStoredImageWithIndex:(uint8_t)index SWIFT_WARN_UNUSED_RESULT;
/// Adjust image contrast and brightness
/// \param image The original image object
///
/// \param brightness The modified brightness value (-1.0 ~ 1.0, default 0.0)
///
/// \param contrast The modified contrast value (0 ~ 10, default 1.0)
///
+ (UIImage * _Nullable)adjustImage:(UIImage * _Nonnull)image brightness:(float)brightness contrast:(float)contrast SWIFT_WARN_UNUSED_RESULT;
/// Print an image in standard mode
/// \param image The image object to draw
///
/// \param dithering If true, the image will be drawn with dithering technique
///
/// \param compress If true, the image data will be delivered in compressed form
///
+ (NSData * _Nonnull)printImage:(UIImage * _Nonnull)image dithering:(BOOL)dithering compress:(BOOL)compress SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end

enum PacketType : NSUInteger;

SWIFT_CLASS("_TtC9woosim3028WSPacket")
@interface WSPacket : NSObject
@property (nonatomic, readonly) enum PacketType packetType;
@property (nonatomic, readonly) id _Nonnull packetData;
- (nonnull instancetype)init:(NSData * _Nonnull)rcvData OBJC_DESIGNATED_INITIALIZER;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

typedef SWIFT_ENUM(NSUInteger, PacketType, open) {
  PacketTypeBINARY = 0,
  PacketTypeSTRING = 1,
  PacketTypeMSR = 2,
};

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