import { ControlValueAccessor } from '@angular/forms';
import { OnInit, TemplateRef, EventEmitter, ElementRef, ViewContainerRef, Renderer2, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
import { ConnectedPosition, ConnectedOverlayPositionChange, VerticalConnectionPos } from '@angular/cdk/overlay';
import { AppendToBodyDirection } from '@duoduo-oba/ng-devui/utils';
import { DateConverter } from '@duoduo-oba/ng-devui/utils';
import { SelectDateChangeEventArgs } from './date-change-event-args.model';
import { DatePickerConfigService as DatePickerConfig } from './date-picker.config.service';
import { I18nService, I18nInterface } from '@duoduo-oba/ng-devui/i18n';
export declare class DatePickerAppendToBodyComponent implements OnInit, OnChanges, OnDestroy, ControlValueAccessor {
    private elementRef;
    private viewContainerRef;
    private renderer2;
    private datePickerConfig;
    private i18n;
    locale: string;
    showTime: boolean;
    cssClass: string;
    disabled: boolean;
    dateConverter: DateConverter;
    yearNumber: number;
    customViewTemplate: TemplateRef<any>;
    autoOpen: boolean;
    selectedDateChange: EventEmitter<SelectDateChangeEventArgs>;
    selectedDate: Date;
    isOpen: boolean;
    _dateConfig: any;
    positions: ConnectedPosition[];
    datepickerPosition: VerticalConnectionPos;
    private _dateFormat;
    private _maxDate;
    private _minDate;
    private clickShow;
    private inputSub;
    private i18nSubscription;
    i18nLocale: I18nInterface['locale'];
    dateConfig: any;
    dateFormat: string;
    maxDate: Date | any;
    minDate: Date | any;
    cdkConnectedOverlayOrigin: any;
    appendToBodyDirections: Array<AppendToBodyDirection | ConnectedPosition>;
    private onChange;
    private onTouched;
    constructor(elementRef: ElementRef, viewContainerRef: ViewContainerRef, renderer2: Renderer2, datePickerConfig: DatePickerConfig, i18n: I18nService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    writeValue(obj: any): void;
    setI18nText(): void;
    timeChange(data: any): void;
    updateCdkConnectedOverlayOrigin(): void;
    toggle($event: Event, clickShow?: boolean): void;
    hide(): void;
    private writeModelValue;
    onBlur($event: any): void;
    onDocumentClick($event: any): void;
    onPositionChange(position: ConnectedOverlayPositionChange): void;
    setPositions(): void;
    private transUserInputToDatepicker;
    clearAll: () => void;
    ngOnDestroy(): void;
}
