import * as _angular_core from '@angular/core';
import { AfterViewInit } from '@angular/core';
import * as i1 from '@angular/common';

type AXQrcodeOutputType = 'canvas' | 'svg' | 'url';
type AXQrcodeLevel = 'L' | 'M' | 'Q' | 'H';
declare function debounce(func: (...args: any) => void, delayMS: number): (...args: any[]) => void;

declare class AXQrcodeComponent implements AfterViewInit {
    /**
     * @description Value of QR code
     */
    readonly content: _angular_core.InputSignal<string>;
    /**
     * @description Size of the QR code
     * @default 256
     */
    readonly size: _angular_core.InputSignal<number>;
    /**
     * @description Error correction level can be 'L' | 'M' | 'Q' | 'H'
     * @default 'M'
     */
    readonly level: _angular_core.InputSignal<AXQrcodeLevel>;
    /**
     * @description QR code color, can be a hex code or CSS color name
     * @default '#000000'
     */
    readonly color: _angular_core.InputSignal<string>;
    /**
     * @description QR code Background color, can be a hex code or CSS color name
     * @default '#FFFFFF'
     */
    readonly backgroundColor: _angular_core.InputSignal<string>;
    /**
     * @description Type of output can be 'canvas' | 'svg' | 'url'
     * @default 'canvas'
     */
    readonly outputType: _angular_core.InputSignal<AXQrcodeOutputType>;
    /**
     * @ignore
     */
    /**
     * @description // Holds base64 or URL if outputType is 'url' or 'base64'
     */
    protected qrCodeUrl: _angular_core.WritableSignal<string>;
    /**
     * @ignore
     */
    private canvas;
    /**
     * @ignore
     */
    private svg;
    constructor();
    ngAfterViewInit(): void;
    private generate;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXQrcodeComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXQrcodeComponent, "ax-qrcode", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; "isSignal": true; }; "outputType": { "alias": "outputType"; "required": false; "isSignal": true; }; }, {}, never, ["img"], true, never>;
}

declare class AXQrcodeModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXQrcodeModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXQrcodeModule, never, [typeof i1.CommonModule, typeof AXQrcodeComponent], [typeof AXQrcodeComponent]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXQrcodeModule>;
}

export { AXQrcodeComponent, AXQrcodeModule, debounce };
export type { AXQrcodeLevel, AXQrcodeOutputType };
