import { OnInit, EventEmitter, ChangeDetectorRef, AfterViewInit } from '@angular/core';
import { Question, QuestionBook } from '../../wrapper';
import { SalesforceService } from "../../services/salesforce.service";
import { DataService } from '../../services/data.service';
import { ChangeService } from '../../services/change.service';
import { StorageService } from '../../services/storage.service';
import { I18nService } from '../../i18n.service';
import { BehaviorSubject, Subscription } from 'rxjs';
import { CropperPosition, Dimensions, ImageTransform } from '../../components/image-cropper/interfaces';
import * as i0 from "@angular/core";
export declare class QuestionbookComponent implements OnInit, AfterViewInit {
    private sfService;
    private dataService;
    private changeService;
    private storageService;
    i18nService: I18nService;
    private cdr;
    private document;
    qbItem: QuestionBook;
    questionItem: Question;
    translatedQuestions: any[];
    questions: any[];
    errorFieldId: any;
    labelValue: string;
    token: string;
    isEdit: boolean;
    handleDropDown: EventEmitter<any>;
    handleQuestion: EventEmitter<any>;
    singleFieldChangeEmit: EventEmitter<any>;
    dropDownData: any;
    dataBind: any;
    subQuestions: Question[];
    selectedFileData: any[];
    loadComponent$: BehaviorSubject<boolean>;
    qbRef: QuestionBook;
    style: any;
    langDirection: string;
    bookStyle: 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;
    getFileRequirements(fieldsMeta: any): string;
    hadleDropDownDependent: EventEmitter<any>;
    handleCalendarDate: EventEmitter<any>;
    handleCalendarEvent: EventEmitter<any>;
    bookQuestionsMap: any;
    constructor(sfService: SalesforceService, dataService: DataService, changeService: ChangeService, storageService: StorageService, i18nService: I18nService, cdr: ChangeDetectorRef, document: Document);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    handleQues(ques: any): Promise<void>;
    flattenObject(obj: any, parentKey?: string, includeObjects?: boolean): any[];
    processData(): void;
    hideDependentElements(elementId: any): void;
    clearSQError(quesId: any): void;
    processTranslatedQuestions(): void;
    setSubQuestions(records: any): void;
    childEventCapture(event: any, ques?: any): void;
    deleteFile(fileData: any): void;
    getDropDown(event: any): void;
    getCurrentCalendar(event: any): void;
    getCalendarEvent(event: any): void;
    removeCharacters(questionText: string): string;
    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;
    readQuestions(qbId: any, ques: any): any[];
    static ɵfac: i0.ɵɵFactoryDeclaration<QuestionbookComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QuestionbookComponent, "lib-questionbook", never, { "qbItem": { "alias": "qbItem"; "required": false; }; "questionItem": { "alias": "questionItem"; "required": false; }; "translatedQuestions": { "alias": "translatedQuestions"; "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; }; }, { "handleDropDown": "handleDropDown"; "handleQuestion": "handleQuestion"; "singleFieldChangeEmit": "singleFieldChangeEmit"; "hadleDropDownDependent": "hadleDropDownDependent"; "handleCalendarDate": "handleCalendarDate"; "handleCalendarEvent": "handleCalendarEvent"; }, never, never, true, never>;
}
