import { OnInit, OnChanges, SimpleChanges, EventEmitter, ComponentRef, ChangeDetectorRef } from "@angular/core";
import { NpDatePickerService } from "./date-picker.service";
import * as moment_ from 'moment';
import { NpDatePickerPopup } from "./components/date-picker-popup";
import { NpInput } from "../input";
import { ControlValueAccessor } from "@angular/forms";
import { DatePickerFooterItem } from "./components/date-picker-footer";
/**
 * Date picker组件
 */
export declare class NpDatePicker implements OnInit, OnChanges, ControlValueAccessor {
    private datePickerService;
    private cdf;
    /**标签 */
    label: string;
    /**是否必填，true仅在标签前面添加红色*号， false不加*/
    isRequired: boolean;
    /**Placeholder */
    placeholder: string;
    /**校验错误时显示错误信息 */
    errorMessage: string;
    /**是否禁用 */
    isDisabled: boolean;
    /**已选时间 */
    date: moment_.Moment | string;
    /**日期时间展示格式，默认只展示日期 */
    format: string;
    /**是否展示时间，默认不展示 */
    isShowTime: boolean;
    /**显示在footer左侧的自定义时间标签数组，如“昨天”等 */
    footerItems: DatePickerFooterItem[];
    /**当为datetime-picker时，底部面板最右侧展示的确认按钮名称 */
    confirmButtonText: string;
    onDateChanged: EventEmitter<any>;
    datePickerInput: NpInput;
    datePickerPopupRef: ComponentRef<NpDatePickerPopup>;
    private overlayRef;
    isHover: boolean;
    private emitChange;
    /**日期输入框文本值，每当this.date改变时此值会同步改变*/
    value: string;
    constructor(datePickerService: NpDatePickerService, cdf: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onToggleDatePickerPopup(): void;
    onBlur(data: {
        value: any;
        event: any;
    }): void;
    onClear(): void;
    onMouseenter(): void;
    onMouseleave(): void;
    /**每次this.date改变时，这个方法都必须要调用 */
    private syncValue;
    private closePopup;
    private subscribeNotifyEvents;
    private emitDataAndClosePopup;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
}
