import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
import Dialog from "@ui5/webcomponents/dist/Dialog.js";
declare const BrowserMultiFormatReader: typeof import("@zxing/library/esm5/index.js").BrowserMultiFormatReader;
type BarcodeScannerDialogScanSuccessEventDetail = {
    text: string;
    rawBytes: Uint8Array;
};
type BarcodeScannerDialogScanErrorEventDetail = {
    message: string;
};
/**
 * @class
 *
 * 
 *
 * The BarcodeScannerDialog component provides barcode scanning functionality for all devices that support the MediaDevices.getUserMedia() native API.
 * Opening the dialog launches the device camera and scans for known barcode formats.
 * 
 * 
 * A scanSuccess event fires whenever a barcode is identified
 * and a scanError event fires when the scan failed (for example, due to missing permisions).
 * 
 * 
 * Internally, the component  uses the zxing-js/library third party OSS.
 *
 * For a list of supported barcode formats, see the zxing-js/library documentation.
 *
 * @constructor
 * @author SAP SE
 * @alias sap.ui.webc.fiori.BarcodeScannerDialog
 * @extends sap.ui.webc.base.UI5Element
 * @tagname ui5-barcode-scanner-dialog
 * @public
 * @since 1.0.0-rc.15
 */
declare class BarcodeScannerDialog extends UI5Element {
    /**
     * Indicates whether a loading indicator should be displayed in the dialog.
     *
     * @type {boolean}
     * @name sap.ui.webc.fiori.BarcodeScannerDialog.prototype.loading
     * @defaultvalue false
     * @private
     */
    loading: boolean;
    _codeReader: InstanceType;
    dialog?: Dialog;
    static i18nBundle: I18nBundle;
    constructor();
    static onDefine(): Promise;
    /**
     * Shows a dialog with the camera videostream. Starts a scan session.
     * @method
     * @name sap.ui.webc.fiori.BarcodeScannerDialog#show
     * @returns {void}
     * @public
     */
    show(): void;
    /**
     * Closes the dialog and the scan session.
     * @method
     * @name sap.ui.webc.fiori.BarcodeScannerDialog#close
     * @returns {void}
     * @public
     */
    close(): void;
    /**
     *  PRIVATE METHODS
     */
    _hasGetUserMedia(): boolean;
    _getUserPermission(): Promise;
    _getDialog(): Promise