import { ElementRef, OnDestroy } from '@angular/core';
import { displayExtraButtonFieldElement } from '../../tcc-abstract-display-element';
import { TccInputMask } from '../../../../models/inputMask.model';
import { TccClarcDateRange } from '../../../../../odata/models/shared.model';
import { TccClarcDateFormat, TccClarcDatePipe } from '../../../../pipes/tcc-clarc-date/tcc-clarc-date.pipe';
import { MatDateRangePicker } from '@angular/material/datepicker';
import { FormControl, FormGroup } from '@angular/forms';
import { TccGetDateFormatStringService } from '../../../../services/tcc-get-date-format-string/tcc-get-date-format-string.service';
export declare class TccDateRangePickerElementComponent extends displayExtraButtonFieldElement implements OnDestroy {
    private datePipe;
    private clarcDateFormatStringService;
    _rangepicker: MatDateRangePicker<Date>;
    background: string;
    constructor(datePipe: TccClarcDatePipe, clarcDateFormatStringService: TccGetDateFormatStringService, elementRef: ElementRef);
    ngOnDestroy(): void;
    _formControl: FormGroup<{
        start: FormControl<Date>;
        end: FormControl<Date>;
    }>;
    _value: TccClarcDateRange;
    _element: TccInputMask._DisplayDatepickerfieldElement;
    private valueChangesSubscription;
    datepickerHint: string;
    _tooltip: string;
    document: Document;
    TccClarcDateFormat: typeof TccClarcDateFormat;
    /**
     * 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: TccClarcDateRange, 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;
}
