import { QRcode } from './../index';
import { QRcodeLabelPosition, QRcodeRenderAs } from './../index';
import { AfterViewInit, ElementRef, OnInit, OnChanges, OnDestroy, SimpleChanges, EventEmitter } from '@angular/core';
import { BaseElement } from './smart.element';
import * as i0 from "@angular/core";
export { QRcodeLabelPosition, QRcodeRenderAs, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { QRcode } from './../index';
export declare class QRcodeComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<QRcode>);
    private eventHandlers;
    nativeElement: QRcode;
    /** @description Creates the component on demand.
     * @param properties An optional object of properties, which will be added to the template binded ones.
     */
    createComponent(properties?: {}): any;
    /** @description Sets the background color of the QR Code element. */
    get backgroundColor(): string;
    set backgroundColor(value: string);
    /** @description Sets whether the QR Code label is visible. */
    get displayLabel(): boolean;
    set displayLabel(value: boolean);
    /** @description Sets an embedded image. */
    get embedImage(): string;
    set embedImage(value: string);
    /** @description Sets the error correction level. */
    get errorLevel(): string;
    set errorLevel(value: string);
    /** @description Sets color to the transparent parts of the embedded image. Background remains transparent if set to empty string. */
    get imageBackgroundColor(): string;
    set imageBackgroundColor(value: string);
    /** @description Sets the height of the embedded image. */
    get imageHeight(): number;
    set imageHeight(value: number);
    /** @description Sets the width of the embedded image. */
    get imageWidth(): number;
    set imageWidth(value: number);
    /** @description Sets the color of the QR Code label. */
    get labelColor(): string;
    set labelColor(value: string);
    /** @description Sets the font family of the QR Code label. */
    get labelFont(): string;
    set labelFont(value: string);
    /** @description Sets the font size of the QR Code label. */
    get labelFontSize(): number;
    set labelFontSize(value: number);
    /** @description Sets the bottom margin of the QR Code label. */
    get labelMarginBottom(): number;
    set labelMarginBottom(value: number);
    /** @description Sets the top margin of the QR Code label. */
    get labelMarginTop(): number;
    set labelMarginTop(value: number);
    /** @description Sets the position of the QR Code label. */
    get labelPosition(): QRcodeLabelPosition | string;
    set labelPosition(value: QRcodeLabelPosition | string);
    /** @description Sets the color of the QR Code lines. */
    get lineColor(): string;
    set lineColor(value: string);
    /** @description Sets the width of the QR Code square. */
    get squareWidth(): number;
    set squareWidth(value: number);
    /** @description Sets the rendering mode of the QR Code. */
    get renderAs(): QRcodeRenderAs | string;
    set renderAs(value: QRcodeRenderAs | string);
    /** @description Sets or gets the value of the QR Code. */
    get value(): string;
    set value(value: string);
    /** @description Sets or gets the width of the QR Code. If the width is set to 0, the width of the QR Code is calculated automatically. */
    get width(): number;
    set width(value: number);
    /** @description Sets or gets the height of the QR Code. If the height is set to 0, the height of the QR Code is calculated automatically. */
    get height(): number;
    set height(value: number);
    /** @description This event is triggered when the value of the QR Code is invalid.
    *  @param event. The custom event. 	Custom event was created with: event.detail(	invalidCharacters, 	lengthValidity, 	patternValidity, 	value)
    *   invalidCharacters - An array indicating the invalid characters.
    *   lengthValidity - A boolean indicating the length validity.
    *   patternValidity - A boolean indicating the pattern validity.
    *   value - the invalid value of the QR Code.
    */
    onInvalid: EventEmitter<CustomEvent>;
    /** @description Exports the QR Code.
    * @param {string} format. The format of the exported file - svg, png, jpg
    * @param {string} fileName?. The name of the exported file
    */
    export(format: string, fileName?: string): void;
    /** @description Gets the base64 string of the QR Code
    * @param {string} format. The dataURL format of the string - svg, png, jpg
    * @returns {string}
  */
    getDataURL(format: any): Promise<any>;
    /** @description Gets the base64 string of the QR Code
    * @param {string} format. The dataURL format of the string - svg, png, jpg
    * @returns {any}
  */
    getDataURLAsync(format: any): Promise<any>;
    /** @description Gets the validity of the QR Code
    * @returns {boolean}
  */
    isValid(): Promise<any>;
    get isRendered(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /** @description Add event listeners. */
    private listen;
    /** @description Remove event listeners. */
    private unlisten;
    static ɵfac: i0.ɵɵFactoryDeclaration<QRcodeComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<QRcodeComponent, "smart-qrcode, [smart-qrcode]", ["smart-qrcode"], { "backgroundColor": "backgroundColor"; "displayLabel": "displayLabel"; "embedImage": "embedImage"; "errorLevel": "errorLevel"; "imageBackgroundColor": "imageBackgroundColor"; "imageHeight": "imageHeight"; "imageWidth": "imageWidth"; "labelColor": "labelColor"; "labelFont": "labelFont"; "labelFontSize": "labelFontSize"; "labelMarginBottom": "labelMarginBottom"; "labelMarginTop": "labelMarginTop"; "labelPosition": "labelPosition"; "lineColor": "lineColor"; "squareWidth": "squareWidth"; "renderAs": "renderAs"; "value": "value"; "width": "width"; "height": "height"; }, { "onInvalid": "onInvalid"; }, never>;
}
