import type { TurboModule } from "react-native"; import { TurboModuleRegistry } from "react-native"; export interface Spec extends TurboModule { connect( /** @type ESCPOSPrinterConnectType */ connectType: number, address: string, port: number, timeout: number, ): Promise; disconnect(id: number): Promise; setEncoding(id: number, encoding: string): Promise; printerCheck(id: number): Promise; status( id: number, /** ESCPOSPrinterStatus */ type: number, ): Promise; printText( id: number, data: string, /** @type ESCPOSPrinterPrintAlignment */ alignment: number, /** @type ESCPOSPrinterTextAttribute */ attribute: number, /** @type ESCPOSPrinterTextSize */ textSize: number, ): Promise; printPaddingText( id: number, data: string, /** @type ESCPOSPrinterTextAttribute */ attribute: number, /** @type ESCPOSPrinterTextSize */ textSize: number, length: number, /** @type ESCPOSConst.CMP_SIDE_RIGHT | ESCPOSConst.CMP_SIDE_LEFT */ side: number, ): Promise; printTextLocalFont( id: number, data: string, /** @type ESCPOSPrinterPrintAlignment */ alignment: number, /** @type ESCPOSPrinterTypeface */ fontType: string, point: number, /** @type ESCPOSPrinterFontStyle */ style: number, /** 1-1000 */ hRatio: number, /** 1-1000 */ vRatio: number, ): Promise; printBitmap( id: number, data: string, width: number, /** @type ESCPOSPrinterPrintAlignment */ alignment: number, /** @type ESCPOSPrinterBitmapMode */ mode: number, ): Promise; printBarCode( id: number, data: string, /** @type ESCPOSPrinterBarcodeType */ symbology: number, height: number, width: number, /** @type ESCPOSPrinterPrintAlignment */ alignment: number, /** @type ESCPOSPrinterTextPosition */ textPosition: number, ): Promise; printPDF417( id: number, data: string, digits: number, steps: number, moduleWidth: number, stepHeight: number, /** @type ESCPOSPrinterPDF417ECLevel */ ECLevel: number, /** @type ESCPOSPrinterPrintAlignment */ alignment: number, ): Promise; printQRCode( id: number, data: string, moduleSize: number, /** @type ESCPOSPrinterQRCodeECLevel */ ECLevel: number, /** @type ESCPOSPrinterPrintAlignment */ alignment: number, ): Promise; printGS1DataBarStacked( id: number, data: string, /** @type ESCPOSPrinterGS1DatabarType */ symbology: number, moduleSize: number, maxSize: number, /** @type ESCPOSPrinterPrintAlignment */ alignment: number, ): Promise; cutPaper( id: number, /** @type ESCPOSPrinterCutType */ type: number, ): Promise; unitFeed(id: number, ufCount: number): Promise; markFeed( id: number, /** @type ESCPOSPrinterMarkFeedType */ type: number, ): Promise; openDrawer( id: number, /** @type ESCPOSPrinterDrawer */ drawer: number, pulseLen: number, ): Promise; transactionPrint( id: number, /** @type ESCPOSPrinterTransactionControl */ control: number, ): Promise; rotatePrint( id: number, /** @type ESCPOSPrinterRotation */ rotation: number, ): Promise; pageModePrint( id: number, /** @type ESCPOSPrinterPageModeControl */ control: number, ): Promise; clearPrintArea(id: number): Promise; clearOutput(id: number): Promise; printData(id: number, data: string): Promise; printNormal(id: number, data: string): Promise; watermarkPrint( id: number, start: number, nvImageNumber: number, pass: number, feed: number, repeat: number, ): Promise; printNVBitmap(id: number, nvImageNumber: number): Promise; searchCitizenPrinter( /** @type ESCPOSPrinterSearchType */ connectType: number, timeout: number, ): Promise; searchESCPOSPrinter( /** @type ESCPOSPrinterSearchType */ connectType: number, timeout: number, ): Promise; printerCheckEx( /** @type ESCPOSPrinterConnectType */ connectType: number, address: string, port: number, timeout: number, ): Promise; openDrawerEx( /** @type ESCPOSPrinterDrawer */ drawer: number, pulseLen: number, /** @type ESCPOSPrinterConnectType */ connectType: number, address: string, port: number, timeout: number, ): Promise; setPrintCompletedTimeout(id: number, timeout: number): Promise; setLog( id: number, mode: number, path: string, maxSize: number, ): Promise; getVersionCode(): Promise; getVersionName(): Promise; getPageModeArea(id: number): Promise; getPageModePrintArea(id: number): Promise; setPageModePrintArea(id: number, area: string): Promise; getPageModePrintDirection(id: number): Promise; setPageModePrintDirection( id: number, /** @type ESCPOSPrinterPageModePrintDirection */ direction: number, ): Promise; getPageModeHorizontalPosition(id: number): Promise; setPageModeHorizontalPosition(id: number, position: number): Promise; getPageModeVerticalPosition(id: number): Promise; setPageModeVerticalPosition(id: number, position: number): Promise; getRecLineSpacing(id: number): Promise; setRecLineSpacing(id: number, spacing: number): Promise; getMapMode(id: number): Promise; setMapMode( id: number, /** @type ESCPOSPrinterMapMode */ mode: number, ): Promise; } export default TurboModuleRegistry.getEnforcing("CitizenEscposprinter");