import { ElementRef, EventEmitter, OnInit, WritableSignal } from '@angular/core';
import { UntypedFormControl } from '@angular/forms';
import { EmptyStatement } from 'typescript';
import { TccTranslation } from '../../../odata/models/shared.model';
import { TccInputMask } from '../../models/inputMask.model';
import { MatDialog } from '@angular/material/dialog';
import { TccAuthService } from '../../../odata/services/tcc-auth/tcc-auth.service';
import { TccET_IAM } from '../../../odata/models/iam.model';
import { TccMessagePopover } from '../tcc-message-popover/tcc-message-popover.component';
export declare class TccTranslationElementComponent implements OnInit {
    private dialog;
    private authService;
    translationInput: ElementRef<HTMLInputElement>;
    set element(data: TccInputMask._DisplayTranslationElement);
    set value(value: TccTranslation);
    set disabled(disabled: boolean);
    set readonly(readonly: boolean);
    notificationClasses: string;
    form: UntypedFormControl;
    highlighting: boolean;
    background: string;
    tooltip: string;
    message: TccMessagePopover.data;
    valueChange: EventEmitter<EmptyStatement>;
    valueChangeExtended: EventEmitter<EmptyStatement>;
    focusEvent: EventEmitter<EmptyStatement>;
    focusOutEvent: EventEmitter<EmptyStatement>;
    fieldMouseEnter: EventEmitter<EmptyStatement>;
    fieldMouseLeave: EventEmitter<EmptyStatement>;
    _element: TccInputMask._DisplayTranslationElement;
    visibleClass: string;
    customClasses: string;
    colorClasses: string;
    sizeClasses: string;
    translationLength: number;
    hasTranslation: boolean;
    valueAutofilled$: WritableSignal<boolean>;
    tenant: TccET_IAM.TenantResponse;
    translation: TccTranslation;
    document: Document;
    constructor(dialog: MatDialog, authService: TccAuthService);
    ngOnInit(): void;
    get value(): TccTranslation;
    openTranslationDialog(): void;
    private setChangedValue;
    changeEvent(): void;
    changeEventExtended(): void;
    _focusEvent(): void;
    _focusOutEvent(): void;
    onNotificationClick(): void;
    focus(): void;
    _fieldMouseEnter(): void;
    _fieldMouseLeave(): void;
    /**
     * gets called, if the browser autofills the input field and tells the lable to float;
     * @param event animationEvent
     */
    _onAnimationStart(event: AnimationEvent): void;
    setReadonly(readonly: boolean): void;
}
