import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { CalendarPropsType } from './calendar.props.component';
import { LocaleProviderService } from '../locale-provider/locale-provider.service';
import { CalendarDatePickerComponent } from './datepicker/datepicker.component';
import * as i0 from "@angular/core";
export { CalendarPropsType };
export interface CalendarStateType {
    showTimePicker: boolean;
    timePickerTitle?: string;
    startDate?: Date;
    endDate?: Date;
    disConfirmBtn?: boolean;
    clientHight?: number;
}
export declare class CalendarComponent implements ControlValueAccessor, OnInit, OnDestroy {
    private _localeProviderService;
    isShow: boolean;
    contentAnimateClass: string;
    maskAnimateClass: string;
    showClear: boolean;
    isSameDate: Function;
    props: CalendarPropsType;
    state: CalendarStateType;
    private _unsubscribe$;
    private _enterDirection;
    private _dateModelType;
    private _dateModelValue;
    private _dateModelTime;
    datepicker: CalendarDatePickerComponent;
    set locale(value: any);
    set defaultTimeValue(value: any);
    set prefixCls(value: any);
    set enterDirection(value: any);
    set visible(value: any);
    set getDateExtra(value: any);
    set defaultDate(value: any);
    set minDate(value: any);
    set maxDate(value: any);
    set pickTime(value: any);
    set type(value: any);
    set showShortcut(value: any);
    set rowSize(value: any);
    set infinite(value: any);
    set defaultValue(value: any);
    set onSelect(value: any);
    onCancel: EventEmitter<any>;
    onConfirm: EventEmitter<any>;
    onSelectHasDisableDate: EventEmitter<any>;
    class: string;
    constructor(_localeProviderService: LocaleProviderService);
    writeValue(value: Date | Array<Date> | null): void;
    registerOnChange(fn: (date: Date | Array<Date>) => void): void;
    registerOnTouched(fn: () => void): void;
    receiveProps(nextProps: CalendarPropsType): void;
    showAnimation(): void;
    hideAnimation(): void;
    selectDate: (date: Date, useDateTime?: boolean, oldState?: {
        startDate?: Date;
        endDate?: Date;
    }, props?: CalendarPropsType) => CalendarStateType;
    writeModelData(date: any): void;
    onSelectedDate: (date: Date) => void;
    triggerSelectHasDisableDate: (date: Date[]) => void;
    onClose: () => void;
    triggerConfirm: () => void;
    triggerCancel(): void;
    triggerClear: () => void;
    onTimeChange: (date: Date) => void;
    shortcutSelect: (startDate: Date, endDate: Date, props?: CalendarPropsType) => void;
    setClientHeight: (height: number) => void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    private onChangeFn;
    private onTouchFn;
    static ɵfac: i0.ɵɵFactoryDeclaration<CalendarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CalendarComponent, "Calendar, nzm-calendar", never, { "locale": "locale"; "defaultTimeValue": "defaultTimeValue"; "prefixCls": "prefixCls"; "enterDirection": "enterDirection"; "visible": "visible"; "getDateExtra": "getDateExtra"; "defaultDate": "defaultDate"; "minDate": "minDate"; "maxDate": "maxDate"; "pickTime": "pickTime"; "type": "type"; "showShortcut": "showShortcut"; "rowSize": "rowSize"; "infinite": "infinite"; "defaultValue": "defaultValue"; "onSelect": "onSelect"; }, { "onCancel": "onCancel"; "onConfirm": "onConfirm"; "onSelectHasDisableDate": "onSelectHasDisableDate"; }, never, never>;
}
