import { PaperWidth, PrintDensity, CutMode, TextAlign, FontSize, BarStyle } from '../ArchbaseThermalPrinter.types';
/**
 * Comandos ESC/POS básicos
 */
export declare const ESC = "\u001B";
export declare const GS = "\u001D";
export declare const DLE = "\u0010";
export declare const CAN = "\u0018";
/**
 * Formata número como moeda (BRL)
 */
export declare function formatCurrency(value: number): string;
/**
 * Formata data para receipt
 */
export declare function formatDate(date?: Date): string;
/**
 * Gera linha de caracteres
 */
export declare function line(char?: string, length?: number): string;
/**
 * Gera linha divisória
 */
export declare function divider(barStyle?: BarStyle, length?: number): string;
/**
 * Centraliza texto
 */
export declare function centerText(text: string, width?: number): string;
/**
 * Alinha texto à direita
 */
export declare function rightAlignText(text: string, width?: number): string;
/**
 * Cabeçalho ESC/POS para inicializar impressora
 */
export declare function escposInit(paperWidth?: PaperWidth, density?: PrintDensity): Uint8Array;
/**
 * Define alinhamento
 */
export declare function escposAlign(align: TextAlign): Uint8Array;
/**
 * Define tamanho da fonte
 */
export declare function escposFontSize(size: FontSize): Uint8Array;
/**
 * Define negrito (on/off)
 */
export declare function escposBold(enabled?: boolean): Uint8Array;
/**
 * Define sublinhado (on/off)
 */
export declare function escposUnderline(enabled?: boolean): Uint8Array;
/**
 * Alimenta linhas
 */
export declare function escposFeed(lines?: number): Uint8Array;
/**
 * Corte de papel
 */
export declare function escposCut(mode?: CutMode): Uint8Array;
/**
 * Abre gaveta de dinheiro
 */
export declare function escposOpenCashDrawer(): Uint8Array;
/**
 * Gera QR Code
 */
export declare function escposQRCode(data: string, size?: number): Uint8Array;
/**
 * Gera código de barras (CODE128)
 */
export declare function escposBarcode(data: string, height?: number): Uint8Array;
/**
 * Finaliza e adiciona feed + cut
 */
export declare function escposFinalize(cutMode?: CutMode, feedLines?: number): Uint8Array;
/**
 * Converte string para Uint8Array (UTF-8)
 */
export declare function stringToUint8Array(str: string): Uint8Array;
/**
 * Converte array de strings para Uint8Array
 */
export declare function stringsToUint8Array(strings: string[]): Uint8Array;
/**
 * Combina múltiplos comandos ESC/POS
 */
export declare function combineCommands(...commands: Uint8Array[]): Uint8Array;
/**
 * Calcula largura em caracteres baseada na largura do papel
 * Aproximadamente 48 caracteres para 80mm, 32 para 58mm
 */
export declare function getCharsWidth(paperWidth: PaperWidth): number;
/**
 * Gera receipt completo como Uint8Array
 */
export declare function generateReceiptEscpos(data: {
    header?: {
        title?: string;
        address?: string[];
        document?: string;
        date?: Date;
        number?: string;
        operator?: string;
    };
    items?: Array<{
        name: string;
        quantity: number;
        price: number;
        discount?: number;
    }>;
    summary?: {
        subtotal?: number;
        discount?: number;
        serviceFee?: number;
        total: number;
    };
    payments?: Array<{
        method: string;
        amount: number;
    }>;
    footer?: {
        messages?: string[];
        qrCode?: string;
        barcode?: string;
    };
}, paperWidth?: PaperWidth, cutMode?: CutMode): Uint8Array;
