/**
 * @license
 * Copyright Alibaba.com All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */
import { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedOverlayPositionChange, ConnectionPositionPair, HorizontalConnectionPos, VerticalConnectionPos } from '@angular/cdk/overlay';
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
import { CandyDate, CompatibleValue } from 'ng-zorro-antd/core/time';
import { NgStyleInterface, NzSafeAny } from 'ng-zorro-antd/core/types';
import { DateHelperService } from 'ng-zorro-antd/i18n';
import { Subject } from 'rxjs';
import { DatePickerService } from './date-picker.service';
import { DateRangePopupComponent } from './date-range-popup.component';
import { RangePartType } from './standard-types';
export declare class NzPickerComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
    private elementRef;
    private dateHelper;
    private changeDetector;
    datePickerService: DatePickerService;
    noAnimation: boolean;
    isRange: boolean;
    open: boolean | undefined;
    disabled: boolean;
    placeholder: string | string[];
    allowClear?: boolean;
    autoFocus?: boolean;
    format: string;
    separator?: string;
    popupStyle: NgStyleInterface | null;
    dropdownClassName?: string;
    suffixIcon?: string | TemplateRef<NzSafeAny>;
    readonly focusChange: EventEmitter<boolean>;
    readonly valueChange: EventEmitter<CandyDate | CandyDate[] | null>;
    readonly openChange: EventEmitter<boolean>;
    cdkConnectedOverlay?: CdkConnectedOverlay;
    separatorElement?: ElementRef;
    pickerInput?: ElementRef<HTMLInputElement>;
    rangePickerInputs: QueryList<ElementRef<HTMLInputElement>>;
    panel: DateRangePopupComponent;
    origin: CdkOverlayOrigin;
    document: Document;
    inputSize?: number;
    inputWidth?: number;
    arrowLeft?: number;
    destroy$: Subject<unknown>;
    prefixCls: string;
    inputValue: NzSafeAny;
    activeBarStyle: object;
    animationOpenState: boolean;
    overlayOpen: boolean;
    overlayPositions: ConnectionPositionPair[];
    currentPositionX: HorizontalConnectionPos;
    currentPositionY: VerticalConnectionPos;
    get realOpenState(): boolean;
    constructor(elementRef: ElementRef, dateHelper: DateHelperService, changeDetector: ChangeDetectorRef, datePickerService: DatePickerService, doc: NzSafeAny);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    resetInputWidthAndArrowLeft(): void;
    getInput(partType?: RangePartType): HTMLInputElement;
    focus(): void;
    onFocus(partType?: RangePartType): void;
    onBlur(): void;
    showOverlay(): void;
    hideOverlay(): void;
    showClear(): boolean;
    onClickInputBox(event: MouseEvent, partType?: RangePartType): void;
    onClickBackdrop(): void;
    onOverlayDetach(): void;
    onOverlayKeydown(event: KeyboardEvent): void;
    onPositionChange(position: ConnectedOverlayPositionChange): void;
    onClickClear(event: MouseEvent): void;
    updateInputValue(): void;
    formatValue(value: CandyDate): string;
    onInputKeyup(event: Event, isEnter?: boolean): void;
    private checkValidInputDate;
    getPlaceholder(partType?: RangePartType): string;
    isEmptyValue(value: CompatibleValue): boolean;
    isOpenHandledByUser(): boolean;
    animationStart(): void;
    animationDone(): void;
}
