import { OnInit, EventEmitter, ChangeDetectorRef, AfterViewInit } from '@angular/core';
import { BehaviorSubject, Subscription } from 'rxjs';
import { CropperPosition, Dimensions, ImageTransform } from '../../components/image-cropper/interfaces';
import { DataService } from '../../services/data/data.service';
import { ChangeService } from '../../services/change/change.service';
import * as i0 from "@angular/core";
export declare class QuestionbookComponent implements OnInit, AfterViewInit {
    private dataService;
    private changeService;
    private cdr;
    qbItem: any;
    questionItem: any;
    questions: any[];
    errorFieldId: any;
    labelValue: string;
    token: string;
    isEdit: boolean;
    dropDownData: any;
    dataBind: any;
    allIcons: any[];
    themeColor: string;
    cdnIconURL: string;
    direction: any;
    languageCode: any;
    from: any;
    bgColor: any;
    margin: any;
    onlyView: boolean;
    bookStyle: any;
    handleDropDown: EventEmitter<any>;
    handleQuestion: EventEmitter<any>;
    singleFieldChangeEmit: EventEmitter<any>;
    subQuestions: any[];
    selectedFileData: any[];
    loadComponent$: BehaviorSubject<boolean>;
    private destroy$;
    qbRef: any;
    style: any;
    subscription: Subscription;
    isImageEdit: boolean;
    selectedImageElement: 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";
    isImageHover: boolean;
    currencyOption: any;
    private processed;
    hadleDropDownDependent: EventEmitter<any>;
    handleCalendarDate: EventEmitter<any>;
    handleCalendarEvent: EventEmitter<any>;
    bookQuestionsMap: any;
    constructor(dataService: DataService, changeService: ChangeService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    private syncQuestions;
    handleQues(ques: any): Promise<void>;
    processData(): void;
    hideDependentElements(elementId: any): void;
    setSubQuestions(records: any): void;
    childEventCapture(event: any, ques: any, input?: any): void;
    deleteFile(fileData: any): void;
    getDropDown(event: any): void;
    getCurrentCalendar(event: any): void;
    getCalendarEvent(event: any): void;
    isCalendarModalOpen: boolean;
    calendarModalTitle: any;
    calendarModalSize: any;
    calendarSaveButtonValue: any;
    referenceQuestions: any[];
    qbRefrenceBook: any;
    modalCalendarModalFooter: any;
    openCalendarModal(event: any): void;
    onCalendarModalSave(): void;
    handleQuestionEvent(event: any): void;
    closeCalendarModal(event: any): void;
    fileChangeEvent(ques: any, event: any): Promise<void>;
    private readFileAsDataURL;
    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;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<QuestionbookComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QuestionbookComponent, "lib-questionbook", never, { "qbItem": { "alias": "qbItem"; "required": false; }; "questionItem": { "alias": "questionItem"; "required": false; }; "questions": { "alias": "questions"; "required": false; }; "errorFieldId": { "alias": "errorFieldId"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; "token": { "alias": "token"; "required": false; }; "isEdit": { "alias": "isEdit"; "required": false; }; "dropDownData": { "alias": "dropDownData"; "required": false; }; "dataBind": { "alias": "dataBind"; "required": false; }; "allIcons": { "alias": "allIcons"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; "cdnIconURL": { "alias": "cdnIconURL"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; "languageCode": { "alias": "languageCode"; "required": false; }; "from": { "alias": "from"; "required": false; }; "bgColor": { "alias": "bgColor"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "onlyView": { "alias": "onlyView"; "required": false; }; "bookStyle": { "alias": "bookStyle"; "required": false; }; }, { "handleDropDown": "handleDropDown"; "handleQuestion": "handleQuestion"; "singleFieldChangeEmit": "singleFieldChangeEmit"; "hadleDropDownDependent": "hadleDropDownDependent"; "handleCalendarDate": "handleCalendarDate"; "handleCalendarEvent": "handleCalendarEvent"; }, never, never, true, never>;
}
