import { ElementRef, EventEmitter, QueryList, SimpleChanges } from '@angular/core';
import { ImageTransform } from '../../../components/image-cropper/interfaces/image-transform.interface';
import { Dimensions } from '../../../components/image-cropper/interfaces/dimensions.interface';
import { CropperPosition } from '../../../components/image-cropper/interfaces/cropper-position.interface';
import { PdfDesignerService } from '../../../services/pdf-designer/pdf-designer.service';
import { CountryService } from '../../../services/country/country.service';
import { ChangeService } from '../../../services/change/change.service';
import { DataService } from '../../../services/data/data.service';
import * as i0 from "@angular/core";
export declare class PdfDesignerComponent {
    private dataService;
    private changeService;
    private countryService;
    private pdfDesignerService;
    textareas: QueryList<ElementRef>;
    pdfJSON: any;
    bookletId: any;
    isPreview: boolean;
    from: any;
    dataBind: any;
    isPropertyHide: boolean;
    pdfSaveHandlerEmit: EventEmitter<any>;
    templateMode: EventEmitter<boolean>;
    pdfPreviewEmit: EventEmitter<any>;
    field: any;
    pdfElements: any[];
    elements: any[];
    bookId: string;
    sections: {
        basic: boolean;
        advanced: boolean;
    };
    elementsList: any[];
    elementDisabledArray: any;
    version: string;
    pdf: any;
    selectedElement: any;
    isSelectTablePopup: boolean;
    currentType: string;
    addTable: boolean;
    dots: any[];
    draggedIndex: number | null;
    templateSelected: boolean;
    isImageEdit: boolean;
    selectedImageElement: any;
    transform: ImageTransform;
    loading: boolean;
    canvasRotation: number;
    cropper?: CropperPosition;
    cropperMaxHeight: number;
    cropperMaxWidth: number;
    cropperMinHeight: number;
    cropperMinWidth: number;
    cropperStaticWidth: number;
    cropperStaticHeight: number;
    aspectRatio: number;
    roundCropper: boolean;
    isImageHover: boolean;
    alignImage: "center";
    showTextSettings: boolean;
    selectedColumn: any;
    defaultColors: string[];
    selectedColor: string;
    currencyOptions: any;
    selectedCurrency: any;
    private drawing;
    private ctxMap;
    private ratioMap;
    constructor(dataService: DataService, changeService: ChangeService, countryService: CountryService, pdfDesignerService: PdfDesignerService);
    ngAfterViewInit(): void;
    handleQues(ques: any): Promise<void>;
    getContrastColor(bgColor?: string): string;
    resizeAllTextareas(): void;
    ngOnInit(): void;
    isSectionOpen(section: string): boolean;
    ngOnChanges(changes: SimpleChanges): void;
    onTemplateSelected(event: {
        selectedTemplate: any;
        elements: any[];
    }): void;
    private initializeForm;
    selectElement(index: number, pdfIndex?: number): void;
    selectedFieldIndex: number | null;
    selectHeading(event: any): void;
    generateUiId(): string;
    addElement(type: string): void;
    onTextAreaInput(event: Event, field: any): void;
    onQuestionChange(value: any, field: any): void;
    pdfPreview(pdf: any): void;
    onFieldDateChange(event: any): void;
    removeElement(field: any, index: number): void;
    onDragStart(event: DragEvent, index: number): void;
    onDragOver(event: DragEvent, index: number): void;
    onDrop(event: DragEvent, dropIndex: number): void;
    toggleBoolean(field: any): void;
    onClose(): void;
    addOnTable(): void;
    addTableData(fieldId: any, fieldName: any): void;
    columnSelected(event: any): void;
    removeColumn(event: any): void;
    fileChangeEvent(field: any, event: any): Promise<void>;
    private readFileAsDataURL;
    isElementDisabled(elementType: string): boolean;
    onImageEdit(ques: any): Promise<void>;
    onImageDelete(ques: any): Promise<void>;
    flipHorizontal(): void;
    flipVertical(): void;
    resetImage(): void;
    zoomOut(): void;
    zoomIn(): void;
    rotateLeft(): void;
    rotateRight(): void;
    moveLeft(): void;
    moveRight(): void;
    moveDown(): void;
    moveUp(): void;
    private flipAfterRotate;
    imageCropped(event: any): Promise<void>;
    cropperReady(sourceImageDimensions: Dimensions): void;
    convertBlobToBase64(objectUrl: string): Promise<string>;
    closeModal(): void;
    openTextSettings(field: any, event: MouseEvent): void;
    closeTextSettings(): void;
    toggleStyle(style: 'bold' | 'italic'): void;
    setAlignment(alignment: 'left' | 'center' | 'right'): void;
    updateContent(tempElement?: any): void;
    pdfSaveHandler(event: any): void;
    selectColor(color: string): void;
    currencyChange(event: any): void;
    setupCanvas(element: HTMLCanvasElement): void;
    loadSignatureToCanvas(element: HTMLCanvasElement, base64: string): void;
    private getCanvasPos;
    pointerDown(event: PointerEvent, field: any): void;
    pointerMove(event: PointerEvent, field: any): void;
    pointerUp(event: PointerEvent, field: any): void;
    saveCanvasToField(canvas: HTMLCanvasElement, field: any): void;
    clearCanvas(element: HTMLCanvasElement, field: any): void;
    clearSignature(field: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PdfDesignerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PdfDesignerComponent, "app-pdf-designer", never, { "pdfJSON": { "alias": "pdfJSON"; "required": false; }; "bookletId": { "alias": "bookletId"; "required": false; }; "isPreview": { "alias": "isPreview"; "required": false; }; "from": { "alias": "from"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; "isPropertyHide": { "alias": "isPropertyHide"; "required": false; }; }, { "pdfSaveHandlerEmit": "pdfSaveHandlerEmit"; "templateMode": "templateMode"; "pdfPreviewEmit": "pdfPreviewEmit"; }, never, never, true, never>;
}
