/** * Custom error codes for Bluetooth printing operations */ export declare enum ErrorCode { CONNECTION_FAILED = "CONNECTION_FAILED", CONNECTION_TIMEOUT = "CONNECTION_TIMEOUT", DEVICE_NOT_FOUND = "DEVICE_NOT_FOUND", DEVICE_DISCONNECTED = "DEVICE_DISCONNECTED", SERVICE_NOT_FOUND = "SERVICE_NOT_FOUND", CHARACTERISTIC_NOT_FOUND = "CHARACTERISTIC_NOT_FOUND", SERVICE_DISCOVERY_FAILED = "SERVICE_DISCOVERY_FAILED", WRITE_FAILED = "WRITE_FAILED", WRITE_TIMEOUT = "WRITE_TIMEOUT", PRINT_JOB_IN_PROGRESS = "PRINT_JOB_IN_PROGRESS", PRINT_JOB_CANCELLED = "PRINT_JOB_CANCELLED", PRINT_JOB_FAILED = "PRINT_JOB_FAILED", INVALID_CONFIGURATION = "INVALID_CONFIGURATION", ENCODING_NOT_SUPPORTED = "ENCODING_NOT_SUPPORTED", INVALID_IMAGE_DATA = "INVALID_IMAGE_DATA", INVALID_QR_DATA = "INVALID_QR_DATA", PLATFORM_NOT_SUPPORTED = "PLATFORM_NOT_SUPPORTED", QUEUE_FULL = "QUEUE_FULL", QUEUE_JOB_NOT_FOUND = "QUEUE_JOB_NOT_FOUND", PREVIEW_FAILED = "PREVIEW_FAILED" } /** * Custom error class for Bluetooth printing operations * * @example * ```typescript * throw new BluetoothPrintError( * ErrorCode.CONNECTION_FAILED, * 'Failed to connect to device', * originalError * ); * ``` */ export declare class BluetoothPrintError extends Error { readonly code: ErrorCode; readonly originalError?: Error | undefined; /** * Creates a new BluetoothPrintError * * @param code - Error code from ErrorCode enum * @param message - Human-readable error message * @param originalError - Original error that caused this error (optional) */ constructor(code: ErrorCode, message: string, originalError?: Error | undefined); /** * Returns a detailed error message including the error code and stack trace */ toString(): string; /** * Converts the error to a JSON object * Useful for logging and debugging */ toJSON(): object; }