import { EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { TimeDetails } from './date-utils';
export declare class DateComponent implements ControlValueAccessor, OnInit {
    position: string;
    size: string;
    placeholder: string;
    forId: string;
    value: string | number;
    name: string;
    displayFormat: string;
    arrowIconClassName: string;
    format: string;
    disabled: any;
    readonly: any;
    maxDate: string;
    minDate: string;
    uiChange: EventEmitter<string | number>;
    readonly showHMS: boolean;
    focus: boolean;
    open: boolean;
    dayList: Array<Array<TimeDetails>>;
    minDateTimeDetails: TimeDetails;
    maxDateTimeDetails: TimeDetails;
    systemDateTimeDetails: TimeDetails;
    currentDateTimeDetails: TimeDetails;
    selectedDateTimeDetails: TimeDetails;
    startYearIndex: number;
    years: Array<any>;
    months: Array<any>;
    showType: string;
    displayValue: string;
    private _disabled;
    private _readonly;
    private _maxDate;
    private _minDate;
    private onChange;
    private onTouched;
    private days;
    constructor(arrowIcon: string);
    ngOnInit(): void;
    reset(): void;
    changeShowType(type?: string): void;
    toggle(): void;
    onEscape(): void;
    setYears(year: number): void;
    checkYear(obj: any): void;
    setMonth(obj: any): void;
    selected(day: TimeDetails): void;
    testValue(max: number, key: string, $event: any): void;
    getResult(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    private validateSelectedDate();
    private update();
    private updateDayList();
    private updateMonthList();
    private updateYearList();
    private isDisableMonth(month);
    private isDisableYear(year);
    private setDays();
}
