import { AfterViewInit, ElementRef, OnDestroy, WritableSignal } from '@angular/core';
import { displayExtraButtonFieldElement } from '../../tcc-abstract-display-element';
import { TccInputMask } from '../../../../models/inputMask.model';
import { TccClarcDate } from '../../../../../odata/models/shared.model';
import { TccClarcDateFormat, TccClarcDatePipe } from '../../../../pipes/tcc-clarc-date/tcc-clarc-date.pipe';
import { MatTimepicker } from '@angular/material/timepicker';
import { FormControl } from '@angular/forms';
export declare class TccTimePickerElementComponent extends displayExtraButtonFieldElement implements AfterViewInit, OnDestroy {
    private datePipe;
    _timepicker: MatTimepicker<Date>;
    background: string;
    readonly formats: import("@angular/material/core").MatDateFormats;
    constructor(datePipe: TccClarcDatePipe, elementRef: ElementRef);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    _formControl: FormControl<Date>;
    _element: TccInputMask._DisplayDatepickerfieldElement;
    private valueChangesSubscription;
    datepickerHint: string;
    _tooltip: string;
    document: Document;
    TccClarcDateFormat: typeof TccClarcDateFormat;
    valueAutofilled$: WritableSignal<boolean>;
    /**
     * gets called, if the browser autofills the input field and tells the lable to float;
     * @param event animationEvent
     */
    _onAnimationStart(event: AnimationEvent): void;
    /**
     * get the value of the element
     *
     * @returns element.value
    */
    _getValue(onlyChanged?: boolean): TccInputMask.ValueUnion;
    refresh(): void;
    verify(): boolean;
    focus(): void;
    protected onSetElement(): void;
    protected onSetForm(): void;
    setValue(value: TccClarcDate, options?: {
        setValueChange?: boolean;
        emitChangeEvent?: boolean;
        index?: number;
    }): void;
    setTooltip(value: string): void;
    changeEvent(): void;
    /**
     * emits the changeEventExtended -> every keydown or any changes to the element
     *
     * @param {boolean} changeElement if the element should be changed (_element.value)
    */
    changeEventExtended(changeElement?: boolean): void;
    protected changeElement(): void;
    timepickerValueSelected(): void;
}
