/**
 * @license
 * Copyright ASW (A Software World) All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file
 */
import { EventEmitter, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
import { NgForm } from '@angular/forms';
import { MatDialogRef } from '@angular/material/dialog';
import * as i0 from "@angular/core";
export declare class AswImageDrawing implements OnInit, OnChanges {
    dialogRef: MatDialogRef<AswImageDrawing>;
    control: any;
    src?: string;
    width: number;
    height: number;
    forceSizeCanvas: boolean;
    forceSizeExport: boolean;
    enableRemoveImage: boolean;
    enableLoadAnotherImage: boolean;
    enableTooltip: boolean;
    showCancelButton: boolean;
    saveBtnText: string;
    cancelBtnText: string;
    loadingText: string;
    loadingTemplate?: TemplateRef<any>;
    errorTemplate?: TemplateRef<any>;
    outputMimeType: string;
    outputQuality: number;
    drawingSizes: {
        [name: string]: number;
    };
    colors: {
        [name: string]: string;
    };
    save: EventEmitter<Blob>;
    cancel: EventEmitter<void>;
    currentTool: string;
    currentSize: number;
    currentColor: string;
    canUndo: boolean;
    canRedo: boolean;
    isLoading: boolean;
    hasError: boolean;
    errorMessage: string;
    private canvas;
    private stack;
    colorsName: string[];
    drawingSizesName: string[];
    private imageUsed?;
    constructor(dialogRef: MatDialogRef<AswImageDrawing>, control: any);
    ngOnInit(): void;
    selectTool(tool: string): void;
    selectDrawingSize(size: number): void;
    selectColor(color: string): void;
    undo(): void;
    redo(): void;
    clearCanvas(): void;
    saveImage(): void;
    private setUndoRedo;
    importPhotoFromFile(event: Event | any): void;
    removeImage(): void;
    get hasImage(): boolean;
    private importPhotoFromSrc;
    private importPhotoFromBlob;
    ngOnChanges(changes: SimpleChanges): void;
    onNoClick(): void;
    onSubmit(aswEditPropertyForm: NgForm): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AswImageDrawing, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AswImageDrawing, "asw-image-drawing", never, { "src": { "alias": "src"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "forceSizeCanvas": { "alias": "forceSizeCanvas"; "required": false; }; "forceSizeExport": { "alias": "forceSizeExport"; "required": false; }; "enableRemoveImage": { "alias": "enableRemoveImage"; "required": false; }; "enableLoadAnotherImage": { "alias": "enableLoadAnotherImage"; "required": false; }; "enableTooltip": { "alias": "enableTooltip"; "required": false; }; "showCancelButton": { "alias": "showCancelButton"; "required": false; }; "saveBtnText": { "alias": "saveBtnText"; "required": false; }; "cancelBtnText": { "alias": "cancelBtnText"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "loadingTemplate": { "alias": "loadingTemplate"; "required": false; }; "errorTemplate": { "alias": "errorTemplate"; "required": false; }; "outputMimeType": { "alias": "outputMimeType"; "required": false; }; "outputQuality": { "alias": "outputQuality"; "required": false; }; "drawingSizes": { "alias": "drawingSizes"; "required": false; }; "colors": { "alias": "colors"; "required": false; }; }, { "save": "save"; "cancel": "cancel"; }, never, never, false, never>;
}
