/// <reference types="node" />
import { NativeEventEmitter } from 'react-native';
export declare enum PrinterBrand {
    EPSON = "EPSON",
    STAR = "STAR",
    OTHER = "OTHER"
}
export declare enum PrinterSeries {
    TM_M30 = "TM_M30",
    TM_M30II = "TM_M30II",
    TM_U220 = "TM_U220",
    TM_T82 = "TM_T82",
    TM_L90 = "TM_L90"
}
export interface PrinterOptions {
    beep?: boolean;
    cut?: boolean;
    tailingLine?: boolean;
    encoding?: string;
}
export interface IBasePrinter {
    device_name: string;
    brand?: PrinterBrand;
    series?: PrinterSeries;
}
export interface IUSBPrinter extends IBasePrinter {
    vendor_id: string;
    product_id: string;
}
export interface IBLEPrinter extends IBasePrinter {
    bdAddress: string;
}
export interface INetPrinter extends IBasePrinter {
    host: string;
    port: number;
}
export declare const USBPrinter: {
    connectAndSend: (vendorId: string, productId: number, data: Buffer, brand: PrinterBrand) => Promise<IUSBPrinter>;
};
export declare const BLEPrinter: {
    connectAndSend: (bdAddress: string, data: Buffer, brand: PrinterBrand, series?: PrinterSeries) => Promise<IBLEPrinter>;
};
export declare const NetPrinter: {
    connectAndSend: (host: string, port: number, data: Buffer, brand: PrinterBrand, series?: PrinterSeries) => Promise<INetPrinter>;
};
export declare const NetPrinterEventEmitter: NativeEventEmitter;
export declare enum RN_THERMAL_RECEIPT_PRINTER_EVENTS {
    EVENT_NET_PRINTER_SCANNED_SUCCESS = "scannerResolved",
    EVENT_NET_PRINTER_SCANNING = "scannerRunning",
    EVENT_NET_PRINTER_SCANNED_ERROR = "registerError"
}
