interface ZBarInstance extends Record { _malloc(size: number): number; _free(ptr: number): void; HEAP8: Int8Array; HEAP16: Int16Array; HEAP32: Int32Array; HEAPU8: Uint8Array; HEAPU16: Uint16Array; HEAPU32: Uint32Array; _ImageScanner_create(): number; _ImageScanner_destory(scanner: number): void; _ImageScanner_set_config(scanner: number, symbology: number, config: number, value: number): number; _ImageScanner_enable_cache(scanner: number, enable: boolean): void; _ImageScanner_recycle_image(scanner: number, image: number): void; _ImageScanner_scan(ImageScanner_scannner: number, image: number): number; _ImageScanner_get_results(scanner: number): number; _Image_create(width: number, height: number, format: number, data: number, dataLength: number, sequenceNum: number): number; _Image_destory(image: number): void; _Image_get_symbols(image: number): number; } /** * Arguments used for building a `ZBarInstance` */ type ZBarModuleArgs = { locateFile?: (filename: string, directory: string) => string; }; /** * Causes a new `ZBarInstance` built with the specified arguments * to be returned by subsequent `getInstance()` calls. */ declare function setModuleArgs(args?: ZBarModuleArgs): void; /** * Returns a `ZBarInstance` built with the arguments set by `setModuleArgs()`, * or built without any arguments. * Successive calls return the same instance until `setModuleArgs()` is called. */ declare function getInstance(): Promise; declare enum ZBarSymbolType { ZBAR_NONE = 0, ZBAR_PARTIAL = 1, ZBAR_EAN2 = 2, ZBAR_EAN5 = 5, ZBAR_EAN8 = 8, ZBAR_UPCE = 9, ZBAR_ISBN10 = 10, ZBAR_UPCA = 12, ZBAR_EAN13 = 13, ZBAR_ISBN13 = 14, ZBAR_COMPOSITE = 15, ZBAR_I25 = 25, ZBAR_DATABAR = 34, ZBAR_DATABAR_EXP = 35, ZBAR_CODABAR = 38, ZBAR_CODE39 = 39, ZBAR_PDF417 = 57, ZBAR_QRCODE = 64, ZBAR_SQCODE = 80, ZBAR_CODE93 = 93, ZBAR_CODE128 = 128, /** mask for base symbol type. * @deprecated in 0.11, remove this from existing code */ ZBAR_SYMBOL = 255, /** 2-digit add-on flag. * @deprecated in 0.11, a ::ZBAR_EAN2 component is used for * 2-digit GS1 add-ons */ ZBAR_ADDON2 = 512, /** 5-digit add-on flag. * @deprecated in 0.11, a ::ZBAR_EAN5 component is used for * 5-digit GS1 add-ons */ ZBAR_ADDON5 = 1280, /** add-on flag mask. * @deprecated in 0.11, GS1 add-ons are represented using composite * symbols of type ::ZBAR_COMPOSITE; add-on components use ::ZBAR_EAN2 * or ::ZBAR_EAN5 */ ZBAR_ADDON = 1792 } declare enum ZBarConfigType { ZBAR_CFG_ENABLE = 0, ZBAR_CFG_ADD_CHECK = /**< enable check digit when optional */ 1, ZBAR_CFG_EMIT_CHECK = /**< return check digit when present */ 2, ZBAR_CFG_ASCII = /**< enable full ASCII character set */ 3, ZBAR_CFG_BINARY = /**< don't convert binary data to text */ 4, ZBAR_CFG_NUM = /**< number of boolean decoder configs */ 5, ZBAR_CFG_MIN_LEN = 32, ZBAR_CFG_MAX_LEN = /**< maximum data length for valid decode */ 33, ZBAR_CFG_UNCERTAINTY = 64, ZBAR_CFG_POSITION = 128, ZBAR_CFG_TEST_INVERTED = /**< if fails to decode, test inverted */ 129, ZBAR_CFG_X_DENSITY = 256, ZBAR_CFG_Y_DENSITY = /**< image scanner horizontal scan density */ 257 } declare enum ZBarOrientation { ZBAR_ORIENT_UNKNOWN = -1, ZBAR_ORIENT_UP = /**< upright, read left to right */ 0, ZBAR_ORIENT_RIGHT = /**< sideways, read top to bottom */ 1, ZBAR_ORIENT_DOWN = /**< upside-down, read right to left */ 2, ZBAR_ORIENT_LEFT = /**< sideways, read bottom to top */ 3 } declare class CppObject { protected ptr: number; protected inst: ZBarInstance; protected constructor(ptr: number, inst: ZBarInstance); protected checkAlive(): void; getPointer(): number; } interface Point { x: number; y: number; } declare class ZBarSymbol { type: ZBarSymbolType; typeName: string; data: Int8Array; points: Array; orientation: ZBarOrientation; time: number; cacheCount: number; quality: number; private constructor(); static createSymbolsFromPtr(ptr: number, buf: ArrayBuffer): Array; decode(encoding?: string): string; } declare class ZBarImage extends CppObject { static createFromGrayBuffer(width: number, height: number, dataBuf: ArrayBuffer, sequence_num?: number): Promise; static createFromRGBABuffer(width: number, height: number, dataBuf: ArrayBuffer, sequence_num?: number): Promise; destroy(): void; getSymbols(): Array; } declare class ZBarScanner extends CppObject { static create(): Promise; destroy(): void; setConfig(sym: ZBarSymbolType, conf: ZBarConfigType, value: number): number; enableCache(enable?: boolean): void; recycleImage(image: ZBarImage): void; getResults(): Array; scan(image: ZBarImage): number; } declare const getDefaultScanner: () => Promise; declare const scanGrayBuffer: (buffer: ArrayBuffer, width: number, height: number, scanner?: ZBarScanner) => Promise>; declare const scanRGBABuffer: (buffer: ArrayBuffer, width: number, height: number, scanner?: ZBarScanner) => Promise>; declare const scanImageData: (image: ImageData, scanner?: ZBarScanner) => Promise>; export { type Point, ZBarConfigType, ZBarImage, type ZBarModuleArgs, ZBarOrientation, ZBarScanner, ZBarSymbol, ZBarSymbolType, getDefaultScanner, getInstance, scanGrayBuffer, scanImageData, scanRGBABuffer, setModuleArgs };