package com.epsonescposprinter import com.facebook.react.bridge.Promise import com.facebook.react.bridge.ReactApplicationContext import com.facebook.react.bridge.ReactContextBaseJavaModule import com.facebook.react.bridge.ReadableMap abstract class EpsonEscposprinterSpec internal constructor(context: ReactApplicationContext) : ReactContextBaseJavaModule(context) { abstract fun addListener(eventName: String) abstract fun removeListeners(count: Double) abstract fun connect(printerSeries: Double, lang: Double, target: String, timeout: Double, promise: Promise) abstract fun disconnect(id: Double, promise: Promise) abstract fun getStatus(id: Double, promise: Promise) abstract fun sendData(id: Double, timeout: Double, promise: Promise) abstract fun beginTransaction(id: Double, promise: Promise) abstract fun endTransaction(id: Double, promise: Promise) abstract fun requestPrintJobStatus(id: Double, printJobId: String, promise: Promise) abstract fun clearCommandBuffer(id: Double, promise: Promise) abstract fun addTextAlign(id: Double, align: Double, promise: Promise) abstract fun addLineSpace(id: Double, lineSpace: Double, promise: Promise) abstract fun addTextRotate(id: Double, rotate: Double, promise: Promise) abstract fun addText(id: Double, text: String, promise: Promise) abstract fun addTextLang(id: Double, lang: Double, promise: Promise) abstract fun addTextFont(id: Double, font: Double, promise: Promise) abstract fun addTextSmooth(id: Double, smooth: Double, promise: Promise) abstract fun addTextSize(id: Double, width: Double, height: Double, promise: Promise) abstract fun addTextStyle(id: Double, reverse: Double, ul: Double, em: Double, color: Double, promise: Promise) abstract fun addHPosition(id: Double, x: Double, promise: Promise) abstract fun addFeedUnit(id: Double, unit: Double, promise: Promise) abstract fun addFeedLine(id: Double, line: Double, promise: Promise) abstract fun addImage(id: Double, image: String, x: Double, y: Double, width: Double, height: Double, color: Double, mode: Double, halftone: Double, brightness: Double, compress: Double, promise: Promise) abstract fun addLogo(id: Double, key1: Double, key2: Double, promise: Promise) abstract fun addBarcode(id: Double, barcode: String, type: Double, hri: Double, font: Double, width: Double, height: Double, promise: Promise) abstract fun addSymbol(id: Double, symbol: String, type: Double, level: Double, width: Double, height: Double, size: Double, promise: Promise) abstract fun addHLine(id: Double, x1: Double, x2: Double, lineStyle: Double, promise: Promise) abstract fun addVLineBegin(id: Double, x: Double, lineStyle: Double, promise: Promise) abstract fun addVLineEnd(id: Double, lineId: Double, promise: Promise) abstract fun addPageBegin(id: Double, promise: Promise) abstract fun addPageEnd(id: Double, promise: Promise) abstract fun addPageArea(id: Double, x: Double, y: Double, width: Double, height: Double, promise: Promise) abstract fun addPageDirection(id: Double, direction: Double, promise: Promise) abstract fun addPagePosition(id: Double, x: Double, y: Double, promise: Promise) abstract fun addPageLine(id: Double, x1: Double, y1: Double, x2: Double, y2: Double, lineStyle: Double, promise: Promise) abstract fun addPageRectangle(id: Double, x1: Double, y1: Double, x2: Double, y2: Double, lineStyle: Double, promise: Promise) abstract fun addRotateBegin(id: Double, promise: Promise) abstract fun addRotateEnd(id: Double, promise: Promise) abstract fun addCut(id: Double, type: Double, promise: Promise) abstract fun addPulse(id: Double, drawer: Double, time: Double, promise: Promise) abstract fun addSound(id: Double, pattern: Double, repeat: Double, cycle: Double, promise: Promise) abstract fun addFeedPosition(id: Double, position: Double, promise: Promise) abstract fun addLayout(id: Double, type: Double, width: Double, height: Double, marginTop: Double, marginBottom: Double, offsetCut: Double, offsetLabel: Double, promise: Promise) abstract fun addCommand(id: Double, command: String, promise: Promise) abstract fun getMaintenanceCounter(id: Double, timeout: Double, type: Double, promise: Promise) abstract fun resetMaintenanceCounter(id: Double, timeout: Double, type: Double, promise: Promise) abstract fun getPrinterSetting(id: Double, timeout: Double, type: Double, promise: Promise) abstract fun setPrinterSetting(id: Double, timeout: Double, list: ReadableMap, promise: Promise) abstract fun getPrinterSettingEx(id: Double, timeout: Double, promise: Promise) abstract fun setPrinterSettingEx(id: Double, timeout: Double, jsonString: String, administratorPassword: String, promise: Promise) abstract fun verifyPassword(id: Double, timeout: Double, administratorPassword: String, promise: Promise) abstract fun getPrinterInformation(id: Double, timeout: Double, promise: Promise) abstract fun downloadFirmwareList(id: Double, printerModel: String, option: String, promise: Promise) abstract fun getPrinterFirmwareInfo(id: Double, timeout: Double, promise: Promise) abstract fun verifyUpdate(id: Double, targetFirmwareInfo: ReadableMap, promise: Promise) abstract fun updateFirmware(id: Double, targetFirmwareInfo: ReadableMap, promise: Promise) abstract fun forceRecover(id: Double, timeout: Double, promise: Promise) abstract fun forcePulse(id: Double, drawer: Double, pulseTime: Double, timeout: Double, promise: Promise) abstract fun forceStopSound(id: Double, timeout: Double, promise: Promise) abstract fun forceCommand(id: Double, command: String, timeout: Double, promise: Promise) abstract fun forceReset(id: Double, timeout: Double, promise: Promise) abstract fun discoveryStart(filter: ReadableMap, promise: Promise) abstract fun discoveryStop(promise: Promise) }