export interface EscPosCommand {
    type: 'init' | 'text' | 'bold' | 'underline' | 'align' | 'size' | 'feed' | 'cut' | 'drawer' | 'barcode' | 'qrcode' | 'image' | 'reset';
    value?: any;
    options?: Record<string, any>;
}
export declare class PosEscPosService {
    static readonly ESC = "\u001B";
    static readonly GS = "\u001D";
    static readonly ALIGN_LEFT = 0;
    static readonly ALIGN_CENTER = 1;
    static readonly ALIGN_RIGHT = 2;
    buildInit(): Buffer;
    buildReset(): Buffer;
    buildText(text: string, options?: {
        bold?: boolean;
        underline?: boolean;
        align?: string;
        width?: number;
        height?: number;
    }): Buffer;
    buildBold(on: boolean): Buffer;
    buildUnderline(level: 0 | 1 | 2): Buffer;
    buildAlign(align: 'left' | 'center' | 'right'): Buffer;
    buildSize(width: number, height: number): Buffer;
    buildFeed(lines: number): Buffer;
    buildCut(type?: 'full' | 'partial'): Buffer;
    buildCashDrawer(): Buffer;
    buildBarcode(data: string, type?: 'UPC_A' | 'UPC_E' | 'EAN13' | 'EAN8' | 'CODE39' | 'ITF' | 'CODABAR' | 'CODE93' | 'CODE128'): Buffer;
    buildQrCode(data: string, options?: {
        size?: number;
        error_correction?: 'L' | 'M' | 'Q' | 'H';
    }): Buffer;
    buildFromCommands(commands: EscPosCommand[]): Buffer;
    renderReceiptToEscPos(params: {
        store_name: string;
        sale_code: string;
        items: Array<{
            name: string;
            quantity: number;
            unit_price: number;
            total: number;
        }>;
        subtotal: number;
        tax?: number;
        total: number;
        payments: Array<{
            method: string;
            amount: number;
        }>;
        cashier?: string;
        receipt_no?: string;
        footer_text?: string;
    }): Promise<Buffer>;
}
