import { AfterViewChecked, ChangeDetectorRef, ElementRef, OnInit, Renderer2 } from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
import { TranslateLibraryService } from '../../../services/translation-registry.service';
import { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';
import { QMSCKEditorImageMap } from '../../models/qms-ckeditor-imagemap.model';
import { LinkType } from '../../common/enums/link-type.enum';
import { ProtocolTypeName } from '../../common/enums/protocol-type.enum';
import { TargetTypeName } from '../../common/enums/target-type.enum';
import { ImageModeName } from '../../common/enums/image-mode.enum';
import { DomSanitizer } from '@angular/platform-browser';
import { MatIconRegistry } from '@angular/material/icon';
import { QMSCKEditorImageMapLib } from './qms-ckeditor-imagemap.lib';
import { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';
import { QMSCKEditorLinkAnchorDocument } from '../../common/models/qms-ckeditor-link-anchor-document.model';
import { FormGroup } from '@angular/forms';
interface ILinkType {
    id: number;
    name: string;
}
interface ITarget {
    id: TargetTypeName;
    name: string;
}
interface IProtocol {
    id: ProtocolTypeName;
    name: string;
}
interface IMode {
    id: string;
    name: string;
    icon: string;
}
interface IZoomType {
    id: number;
    name: string;
}
interface IAnchor {
    value: number;
    viewValue: string;
    anchorValue: string;
}
export declare class QMSCKEditorImageMapComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {
    private renderer;
    private cdr;
    private dialog;
    private translate;
    private linkService;
    dialogRef: MatDialogRef<QMSCKEditorImageMapComponent>;
    data: QMSCKEditorImageMap;
    LANG: any;
    imageMapFormGroup: FormGroup;
    imageMapData: QMSCKEditorImageMap;
    linkTypes: ILinkType[];
    targets: ITarget[];
    protocols: IProtocol[];
    modes: IMode[];
    zoomTypes: IZoomType[];
    url: string;
    processedUrl: string;
    selectedMode: ImageModeName;
    selectedLinkType: LinkType;
    selectedTarget: TargetTypeName;
    selectedProtocol: ProtocolTypeName | string;
    selectedZoom: number;
    protocolRegex: RegExp;
    javascriptLinkRegex: RegExp;
    documentId: number;
    anchorText: string;
    advisoryTitle: string;
    isImageLoading: boolean;
    isUrlProcessing: boolean;
    naturalImageWidth: number;
    naturalImageHeight: number;
    currentAreaId: number;
    myImageMap: QMSCKEditorImageMapLib;
    showImageMapInformation: boolean;
    anchorDocuments: QMSCKEditorLinkAnchorDocument[];
    anchors: IAnchor[];
    editorAnchors: IAnchor[];
    imageListeners: any[];
    myImageRef: ElementRef<HTMLImageElement>;
    myStatusRef: ElementRef<HTMLElement>;
    constructor(renderer: Renderer2, cdr: ChangeDetectorRef, dialog: MatDialog, translate: TranslateLibraryService, linkService: QMSCKEditorLinkService, dialogRef: MatDialogRef<QMSCKEditorImageMapComponent>, data: QMSCKEditorImageMap, iconRegistry: MatIconRegistry, sanitizer: DomSanitizer);
    initDefaultValues(): void;
    initSvgIcons(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer): void;
    initFormControl(): void;
    initLinkType(): void;
    initTarget(): void;
    initProtocol(): void;
    initModes(): void;
    initZoomTypes(): void;
    initAnchor(): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    onImageLoad(): void;
    ngAfterViewInit(): void;
    parseLinkUrl(url: string): void;
    onSelectArea(area: any): void;
    onRemoveArea(): void;
    removeMap(): void;
    onStatusMessage(text: string): void;
    onUrlKeyup(): void;
    onUrlChange(): void;
    onAnchorTextChange(): void;
    onProtocolChange(): void;
    onTargetChange(): void;
    onAddArea(id: number): void;
    updateAreaValues(): void;
    buildUrlWithProtocol(): string;
    ngAfterViewChecked(): void;
    onCloseDialog(): void;
    onModeChange(e: any): void;
    onZoomChange(): void;
    onLinkTypeChange(): void;
    getEditorAnchor(): void;
    setImageSize(): void;
    eHandbook(isOnlyDocument: boolean, isAnchorDocument: boolean): void;
    getAnchorDocument(documentId: number): void;
    setAnchorDocument(anchorDocument: QMSCKEditorLinkAnchorDocument[]): void;
    attachment(): void;
    save(): void;
    cancel(): void;
}
export {};
