import { PrinterGetSettingsType } from './constants';
import { addTextLine, addViewShot, monitorPrinter, tryToConnectUntil } from './printHelpers';
import type { AddBarcodeParams, AddCutTypeParam, AddImageParams, AddPulseParams, AddSymbolParams, AddTextAlignParam, AddTextLangParam, AddTextSizeParams, AddTextSmoothParam, AddTextStyleParams, PrinterParams } from './types';
export declare class Printer {
    private static instances;
    readonly deviceName: string;
    private lang;
    private printerWrapper;
    queue: unknown;
    constructor({ target, deviceName, lang, }: PrinterParams);
    initQueue(): void;
    addQueueTask<TaskResultType>(task: () => Promise<TaskResultType>): Promise<TaskResultType | void>;
    static addTextLine: typeof addTextLine;
    static monitorPrinter: typeof monitorPrinter;
    static tryToConnectUntil: typeof tryToConnectUntil;
    static addViewShot: typeof addViewShot;
    get currentFontWidth(): number;
    init: () => Promise<void>;
    connect: (timeout?: number) => Promise<void>;
    disconnect: () => Promise<void>;
    addText: (data: string) => Promise<void>;
    addFeedLine: (line?: number) => Promise<void>;
    addLineSpace: (linespc: number) => Promise<void>;
    sendData: (timeout?: number) => Promise<import("./types").PrinterStatusResponse>;
    addCut: (type?: AddCutTypeParam) => Promise<void>;
    getPrinterSetting: (type: PrinterGetSettingsType, timeout?: number) => Promise<import("./types").PrinterSettingsResponse>;
    getStatus: () => Promise<import("./types").PrinterStatusResponse>;
    addImage: (params: AddImageParams) => Promise<void>;
    addBarcode: (params: AddBarcodeParams) => Promise<void>;
    addSymbol: (params: AddSymbolParams) => Promise<void>;
    addCommand: (uint8Array: Uint8Array) => Promise<void>;
    addPulse: (params: AddPulseParams) => Promise<void>;
    addTextAlign: (params?: AddTextAlignParam) => Promise<void>;
    addTextSize: (params?: AddTextSizeParams) => Promise<void>;
    addTextSmooth: (smooth?: AddTextSmoothParam) => Promise<void>;
    addTextStyle: (params?: AddTextStyleParams) => Promise<void>;
    addTextLang: (lang: AddTextLangParam) => Promise<void>;
    clearCommandBuffer: () => Promise<void>;
}
//# sourceMappingURL=Printer.d.ts.map