import { AfterViewInit, ElementRef } from '@angular/core';
import { MatSelectionList, MatSelectionListChange } from '@angular/material/list';
import { TccKeyValuePair } from '../../../odata/models/shared.model';
import { TccET_BIZOBJ } from '../../../odata/models/bizobj.model';
export declare class TccMailTemplateDialogComponent implements AfterViewInit {
    data: {
        subject: string;
        body: string;
        languages: TccKeyValuePair[];
        templateLanguageCode: string;
        templates: {
            Language: string;
            Subject: string;
            Body: string;
        }[];
        showChips?: boolean;
    };
    /**
     * stops keyDown Events from traveling outside the Dialog to stop background interactions.
     * @param {KeyboardEvent} event
     */
    stopKeyDownPropagation(event: KeyboardEvent): void;
    /**
     * stops keyPress Events from traveling outside the Dialog to stop background interactions.
     * @param {KeyboardEvent} event
     */
    stopKeyPressPropagation(event: KeyboardEvent): void;
    subjectInput: ElementRef<HTMLInputElement>;
    bodyTextarea: ElementRef<HTMLTextAreaElement>;
    languageList: MatSelectionList;
    bodyEditValue: string;
    chipSearch: string;
    formValid: boolean;
    languages: TccKeyValuePair[];
    selectedLanguage: string;
    subjectEditValue: string;
    templateLanguageCode: string;
    templates: {
        Language: string;
        Subject: string;
        Body: string;
    }[];
    lastSelectionStart: number;
    lastSelectionEnd: number;
    showChips: boolean;
    placeholderTranslations: Readonly<{
        ccBT_Currency: string;
        ccBT_DocumentDate: string;
        ccBT_GrossAmount: string;
        ccBT_InvoiceNumber: string;
        ccBT_NetAmount: string;
        ccBT_SalesOrganisation: string;
    }>;
    templatePlaceholders: TccET_BIZOBJ.TccTemplatePlaceholder[];
    allChips: readonly string[];
    filteredChips: readonly string[];
    private activeElement;
    private originals;
    private drafts;
    constructor(data: {
        subject: string;
        body: string;
        languages: TccKeyValuePair[];
        templateLanguageCode: string;
        templates: {
            Language: string;
            Subject: string;
            Body: string;
        }[];
        showChips?: boolean;
    });
    ngAfterViewInit(): void;
    trackCaret(event: Event): void;
    preventFocusLoss(event: MouseEvent): void;
    insertAtCursor(chip: string): void;
    filterChips(): void;
    onLanguageSelectionChange(e: MatSelectionListChange): void;
    set subject(val: string);
    set body(val: string);
    updateFormValidity(): void;
    private setTemplateByLanguage;
}
