import { AfterViewChecked, ChangeDetectorRef, OnInit } from "@angular/core";
import { UntypedFormGroup } from "@angular/forms";
import { MatDialog, MatDialogRef } from "@angular/material/dialog";
import { TranslateLibraryService } from '../../../services/translation-registry.service';
import { LinkType } from '../../common/enums/link-type.enum';
import { QMSCKEditorLinkAnchorDocument } from '../../common/models/qms-ckeditor-link-anchor-document.model';
import QMSCKEditorLink from '../../common/models/qms-ckeditor-url.model';
import { QMSCKEditorBaseComponent } from '../../qms-ckeditor-base.component';
import { QMSCKEditorCommonService } from "../../services/qms-ckeditor-common.services";
import { QMSCKEditorLinkService } from '../../services/qms-ckeditor-link.service';
import { TreeConfig } from "../../../components/tree";
import { QMSSelectProcessDocumentGlobalService } from "../../../components/select-process-document";
import { QMSCKEditorTreeService } from "../../services/qms-ckeditor-tree.service";
import { DocumentNodeType } from "../../../common/enum/document-node-type.enum";
import * as i0 from "@angular/core";
interface ILinkType {
    id: number;
    name: string;
}
interface ITarget {
    id: number;
    name: string;
}
interface IProtocol {
    id: number;
    name: string;
}
interface IAnchor {
    value: number;
    viewValue: string;
    anchorValue: string;
}
export declare class QMSCKEditorLinkComponent extends QMSCKEditorBaseComponent implements OnInit, AfterViewChecked {
    private cdr;
    private dialog;
    private translate;
    private linkService;
    private commonService;
    private treeService;
    private selectProcessDocumentGlobalService;
    dialogRef: MatDialogRef<QMSCKEditorLinkComponent>;
    data: QMSCKEditorLink;
    ckEditor: any;
    LANG: any;
    linkFormGroup: UntypedFormGroup;
    anchorTextFormGroup: UntypedFormGroup;
    emailFormGroup: UntypedFormGroup;
    anchorDocFormGroup: UntypedFormGroup;
    isExpanded: boolean;
    linkTypes: ILinkType[];
    targets: ITarget[];
    protocols: IProtocol[];
    anchorDocuments: QMSCKEditorLinkAnchorDocument[];
    anchors: IAnchor[];
    editorAnchors: IAnchor[];
    documentAnchors: IAnchor[];
    editorContent: string;
    selectedLinkType: number;
    selectedTarget: number;
    selectedProtocol: number;
    url: string;
    advisoryTitle: string;
    edit: boolean;
    anchorText: string;
    emailAddress: string;
    emailSubject: string;
    emailBody: string;
    documentId: number;
    anchorTitle: string;
    anchorByName: string;
    LinkType: typeof LinkType;
    processConfig: TreeConfig;
    documentConfig: TreeConfig;
    documentTypes: DocumentNodeType[];
    selectedTargetAnchorDocument: number;
    constructor(cdr: ChangeDetectorRef, dialog: MatDialog, translate: TranslateLibraryService, linkService: QMSCKEditorLinkService, commonService: QMSCKEditorCommonService, treeService: QMSCKEditorTreeService, selectProcessDocumentGlobalService: QMSSelectProcessDocumentGlobalService, dialogRef: MatDialogRef<QMSCKEditorLinkComponent>, data: QMSCKEditorLink);
    ngOnInit(): void;
    ngAfterViewChecked(): void;
    onCloseDialog(): void;
    initLinkType(): void;
    initTarget(): void;
    initProtocol(): void;
    initAnchor(): void;
    parseLinkUrl(typeId: number, url: string): void;
    onSelectedLinkType(): void;
    eHandbook(isOnlyDocument: boolean, isAnchorDocument: boolean): Promise<void>;
    getParentId(item: any): any;
    getLinkURL(data: any): string;
    attachment(): void;
    getEditorAnchor(): void;
    getAnchorDocument(documentId: number): void;
    setAnchorDocument(anchorDocument: QMSCKEditorLinkAnchorDocument[]): void;
    getAnchor(e: any, id: any): void;
    disableOkButton(): boolean;
    setLink(): void;
    getUrlToSetProtocol(): void;
    changeUrlAndSelectedProtocol(protocolType: number, protocolName: string): void;
    getProtocolName(): any;
    setLinkUrlType($event?: Event): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<QMSCKEditorLinkComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<QMSCKEditorLinkComponent, "qms-ckeditor-link", never, { "ckEditor": { "alias": "ckEditor"; "required": false; }; }, {}, never, never, false, never>;
}
export {};
