import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { CalendarPropsType } from './calendar.props.component';
import { LocaleProviderService } from 'ng-zorro-antd-mobile/locale-provider';
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": { "alias": "locale"; "required": false; }; "defaultTimeValue": { "alias": "defaultTimeValue"; "required": false; }; "prefixCls": { "alias": "prefixCls"; "required": false; }; "enterDirection": { "alias": "enterDirection"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; "getDateExtra": { "alias": "getDateExtra"; "required": false; }; "defaultDate": { "alias": "defaultDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "pickTime": { "alias": "pickTime"; "required": false; }; "type": { "alias": "type"; "required": false; }; "showShortcut": { "alias": "showShortcut"; "required": false; }; "rowSize": { "alias": "rowSize"; "required": false; }; "infinite": { "alias": "infinite"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "onSelect": { "alias": "onSelect"; "required": false; }; }, { "onCancel": "onCancel"; "onConfirm": "onConfirm"; "onSelectHasDisableDate": "onSelectHasDisableDate"; }, never, never, false, never>;
}
