import { HttpClient } from '@angular/common/http';
import { ElementRef, EventEmitter } from '@angular/core';
import { CropperPosition, Dimensions, ImageTransform } from '../../../components/image-cropper/interfaces';
import { PdfDesignerService } from '../../../services/pdf-designer.service';
import { TemplateService } from '../../../services/template.service';
import * as i0 from "@angular/core";
export declare class PdfPropertiesComponent {
    private http;
    private pdfDesignerService;
    private templateService;
    formButtonHandler: EventEmitter<any>;
    templateSaveHandler: EventEmitter<any>;
    selectedOption: string;
    selectedElementIndex: number;
    selectedElementType: string;
    selectedAlign: string;
    selectedStyles: string[];
    selectedElement: any;
    headerSelect: boolean;
    bookId: any;
    pdf: any;
    activeTab: string;
    selectColumn: any;
    transform: ImageTransform;
    canvasRotation: number;
    cropper?: CropperPosition;
    loading: boolean;
    cropperMaxHeight: number;
    cropperMaxWidth: number;
    cropperMinHeight: number;
    cropperMinWidth: number;
    cropperStaticWidth: number;
    cropperStaticHeight: number;
    aspectRatio: number;
    roundCropper: boolean;
    imageChangedEvent: Event | null;
    alignImage: "center";
    bookSubtext: {
        endpoint: string;
        variable: any;
        field: string[];
        defaultField: string;
    };
    isLinkDropdownOpen: boolean;
    templateSelected: boolean;
    dropdown: ElementRef;
    draggedId: string | null;
    pdfElements: any[];
    unique_id: string;
    selectedTemplate: any;
    elementProperties: {
        Header: {
            elementProps: {
                label: string;
                placeholder: string;
                type: string;
                key: string;
            }[];
        };
        text: {
            elementProps: ({
                label: string;
                placeholder: string;
                type: string;
                key: string;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
            })[];
            fieldProps: ({
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion: any[];
            })[];
            appearance: ({
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options: string[];
                value?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: number;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                options: {
                    value: string;
                    label: string;
                }[];
                placeholder?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder: string;
                value: number[];
                options?: undefined;
            })[];
        };
        input: {
            elementProps: ({
                label: string;
                placeholder: string;
                type: string;
                key: string;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
            })[];
            fieldProps: ({
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion: any[];
            })[];
            appearance: ({
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options: string[];
                value?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: number;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                options: {
                    value: string;
                    label: string;
                }[];
                placeholder?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder: string;
                value: number[];
                options?: undefined;
            })[];
        };
        date: {
            elementProps: ({
                label: string;
                placeholder: string;
                type: string;
                key: string;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
            })[];
            fieldProps: ({
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion: any[];
            })[];
            appearance: ({
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options: string[];
                value?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: number;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                options: {
                    value: string;
                    label: string;
                }[];
                placeholder?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder: string;
                value: number[];
                options?: undefined;
            })[];
        };
        Pdf: {
            elementProps: {
                label: string;
                type: string;
                key: string;
            }[];
            fieldProps: ({
                label: string;
                placeholder: string;
                type: string;
                key?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion: any[];
            })[];
            appearance: any[];
        };
        Line: {
            elementProps: ({
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                options: string[];
                placeholder?: undefined;
            })[];
            fieldProps: any[];
            appearance: ({
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options: string[];
                value?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: number;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                options: {
                    value: string;
                    label: string;
                }[];
                placeholder?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder: string;
                value: number[];
                options?: undefined;
            })[];
        };
        Space: {
            elementProps: {
                label: string;
                type: string;
                key: string;
            }[];
            fieldProps: any[];
            appearance: ({
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options: string[];
                value?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: number;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                options: {
                    value: string;
                    label: string;
                }[];
                placeholder?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder: string;
                value: number[];
                options?: undefined;
            })[];
        };
        Table: {
            elementProps: ({
                label: string;
                placeholder: string;
                type: string;
                key: string;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
            })[];
            fieldProps: ({
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion: any[];
            })[];
            appearance: ({
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options: string[];
                value?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: number;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                options: {
                    value: string;
                    label: string;
                }[];
                placeholder?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder: string;
                value: number[];
                options?: undefined;
            })[];
        };
        TableColumn: {
            elementProps: ({
                label: string;
                placeholder: string;
                type: string;
                targetArray: string;
                targetArrayKey: string;
                key: string;
                subQuestion?: undefined;
                children?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                targetArray: string;
                targetArrayKey: string;
                key: string;
                subQuestion: {
                    label: string;
                    placeholder: string;
                    type: string;
                    targetArray: string;
                    targetArrayKey: string;
                    key: string;
                }[];
                children?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                targetArray?: undefined;
                targetArrayKey?: undefined;
                subQuestion?: undefined;
                children?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                children: {
                    label: string;
                    type: string;
                    key: string;
                }[];
                placeholder?: undefined;
                targetArray?: undefined;
                targetArrayKey?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
                targetArray?: undefined;
                targetArrayKey?: undefined;
                subQuestion?: undefined;
                children?: undefined;
            })[];
            fieldProps: ({
                label: string;
                placeholder: string;
                type: string;
                key: string;
                targetArray?: undefined;
                targetArrayKey?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
                targetArray?: undefined;
                targetArrayKey?: undefined;
            } | {
                label: string;
                type: string;
                targetArray: string;
                targetArrayKey: string;
                key: string;
                placeholder?: undefined;
            })[];
            appearance: ({
                label: string;
                placeholder: string;
                type: string;
                key: string;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
            })[];
        };
        TextArea: {
            elementProps: {
                label: string;
                type: string;
                key: string;
            }[];
            fieldProps: ({
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion: any[];
            })[];
            appearance: ({
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options: string[];
                value?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                options: {
                    label: string;
                    value: string;
                }[];
                placeholder?: undefined;
            })[];
        };
        image: {
            elementProps: {
                label: string;
                type: string;
                key: string;
            }[];
            fieldProps: ({
                label: string;
                type: string;
                key: string;
                placeholder?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key?: undefined;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion?: undefined;
            } | {
                label: string;
                placeholder: string;
                type: string;
                key: string;
                subQuestion: any[];
            })[];
            appearance: ({
                label: string;
                type: string;
                key: string;
                placeholder: string;
                options: string[];
                value?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: number;
                placeholder?: undefined;
                options?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                value: string;
                options: {
                    value: string;
                    label: string;
                }[];
                placeholder?: undefined;
            } | {
                label: string;
                type: string;
                key: string;
                placeholder: string;
                value: number[];
                options?: undefined;
            })[];
        };
    };
    errorMessage: string;
    constructor(http: HttpClient, pdfDesignerService: PdfDesignerService, templateService: TemplateService);
    handleTemplateSelection(event: any): void;
    ngOnInit(): void;
    updateTitle(event: any): void;
    get fieldAsString(): string;
    updateField(value: string): void;
    get filteredColumns(): any[];
    onCheckboxChange(targetArrayPath: any, targetArrayKey: any, key: any, apiName: string, isChecked: boolean): void;
    updateProperty(key: string, value: any): void;
    onRadioChange(targetArrayPath: any, targetArrayKey: any, key: any, value: any): void;
    onRequiredChange(value: boolean): void;
    toggleSubQuestion(prop: any): void;
    isStyleExpanded: boolean;
    toggleStyleSection(): void;
    getProperties(): any;
    addOption(options: any[]): void;
    removeOption(options: any[], id: string): void;
    handleButtonClick(): void;
    setActiveTab(tab: string): void;
    onSave(): void;
    onCancel(): void;
    updateProperties(elementType: string): void;
    onAlignSelect(value: string): void;
    onStyleSelect(value: string): void;
    isStyleActive(value: string): boolean;
    getValueByPath(path: string): any;
    onToggleChange(path: string, event: Event): void;
    validateInput(value: string, type: string): boolean;
    setValueByPath(path: string, value: any): void;
    getStyleKeys(): string[];
    updateElement(element: any): void;
    getValueByArrayPath(targetArrayPath: any, targetArrayKey: string, selectColumn: string, keyPath: string): any;
    updateValueByArrayPath(targetArrayPath: any, targetArrayKey: string, selectColumn: string, keyPath: string, event: Event): void;
    getDataByPath(path: string): any;
    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>;
    childEventCapture(event: any): void;
    linkToggleDropdown(event: Event): void;
    onClickOutside(event: Event): void;
    onDragStart(event: DragEvent, id: string): void;
    onDragOver(event: DragEvent): void;
    onDrop(event: DragEvent, key: string): void;
    onWidthSelect(value: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<PdfPropertiesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PdfPropertiesComponent, "app-pdf-properties", never, { "selectedElementType": { "alias": "selectedElementType"; "required": false; }; "templateSelected": { "alias": "templateSelected"; "required": false; }; }, { "formButtonHandler": "formButtonHandler"; "templateSaveHandler": "templateSaveHandler"; }, never, never, true, never>;
}
