import { AfterContentInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { NgControl } from '@angular/forms';
import { TlInput } from '../input/input';
import { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';
import { ValueAccessorBase } from '../input/core/value-accessor';
import { CalendarHoliday } from '../calendar/interfaces/calendar-holiday.interface';
export interface DateOject {
    day: number;
    month: number;
    year: number;
}
export declare class TlDatePicker extends ValueAccessorBase<Date | string> implements OnInit, AfterContentInit, OnDestroy {
    private changes;
    locale: string;
    ngControl: NgControl;
    label: string;
    name: string;
    labelSize: string;
    textAlign: string;
    iconAfter: any;
    isoDate: boolean;
    labelPlacement: string;
    formatDate: string;
    readonly: boolean;
    disabled: boolean;
    placeholder: string;
    clearButton: boolean;
    autoClose: boolean;
    openOnFocus: boolean;
    holidays: Array<CalendarHoliday>;
    selectDay: EventEmitter<any>;
    completeMask: EventEmitter<any>;
    calendar: any;
    tlInput: TlInput;
    calendarContent: any;
    arrow: any;
    isOpen: boolean;
    positionOverlay: string;
    description: string;
    trigger: any;
    date: Date;
    private year;
    private month;
    private day;
    private subscription;
    constructor(changes: ChangeDetectorRef, locale: string, ngControl: NgControl);
    get control(): import("@angular/forms").AbstractControl;
    setControl(): void;
    ngOnInit(): void;
    ngAfterContentInit(): void;
    private listenControlChanges;
    private decomposeDate;
    private setDateMask;
    private setDateObject;
    private getMask;
    private getObjectValues;
    private handleAutoClose;
    private handleOpenOnFocus;
    private getFormattedDate;
    private setValue;
    private formatDayAndMonth;
    handleDateChange(): void;
    onBlur(): void;
    onCompleteMask(): void;
    onDateInputFocus(): void;
    onSelectDay($event: any): void;
    onPositionChange($event: ConnectedOverlayPositionChange): void;
    onBackDropClick(): void;
    onClearInput($event: any): void;
    handleArrowKeys($event: any): void;
    private handleArrowUp;
    private handleTab;
    private handleEscape;
    private handleArrowDown;
    private stringUnmasked;
    ngOnDestroy(): void;
}
