import { OnInit, OnDestroy, ElementRef, TemplateRef, EventEmitter } from '@angular/core';
import { CdkOverlayOrigin, ConnectedOverlayPositionChange, VerticalConnectionPos } from '@angular/cdk/overlay';
import { Subject, Subscription } from 'rxjs';
import { DatePickerConfigService as DatePickerConfig } from '../date-picker.config.service';
import { I18nService, I18nInterface } from '@duoduo-oba/ng-devui/i18n';
import { DateConverter } from '@duoduo-oba/ng-devui/utils';
export declare class TwoDatePickerComponent implements OnInit, OnDestroy {
    el: ElementRef;
    protected datePickerConfig: DatePickerConfig;
    private i18n;
    locale: string;
    cssClass: string;
    disabled: boolean;
    dateConverter: DateConverter;
    showTime: boolean;
    selectedRange: any[];
    hideOnRangeSelected: boolean;
    customViewTemplate: TemplateRef<any>;
    selectRange: EventEmitter<any>;
    leftPicker: ElementRef;
    rightPicker: ElementRef;
    templateWrap: ElementRef;
    datePosition: VerticalConnectionPos;
    selectDateSubject: Subject<{
        side: String;
        date: Date;
        onlyWrite?: Boolean;
    }>;
    hoverOnDate: Subject<object>;
    switchOpenSub: Subject<'start' | 'end' | false>;
    today: Date;
    rangeStart: any;
    rangeEnd: any;
    disableToday: any;
    i18nText: I18nInterface['datePicker'];
    i18nLocale: I18nInterface['locale'];
    i18nSubscription: Subscription;
    datepickerPosition: VerticalConnectionPos;
    currentCalendars: any[];
    cdkConnectedOverlayOrigin: CdkOverlayOrigin;
    isOpen: boolean;
    private startOpen;
    private endOpen;
    private _whichOpen;
    private _dateConfig;
    private _dateFormat;
    private _maxDate;
    private _minDate;
    private onChange;
    constructor(el: ElementRef, datePickerConfig: DatePickerConfig, i18n: I18nService);
    dateConfig: any;
    dateFormat: string;
    maxDate: Date | any;
    minDate: Date | any;
    whichOpen: 'start' | 'end' | false;
    onDocumentClick($event: any): void;
    ngOnInit(): void;
    isDisableToday(): void;
    toggle(event: any, side: 'start' | 'end'): void;
    onPositionChange(position: ConnectedOverlayPositionChange): void;
    convertDate(date: any): Date;
    formatDate(date: any): string;
    updateCdkConnectedOverlayOrigin(el: ElementRef): void;
    syncPickerPair(currentCalender: object, orientation: string): void;
    rangeChange(data: any): void;
    chooseDate: (range: any) => void;
    notifyValueChange(range: any): void;
    selectingDate(event: any): void;
    subscribeHoverActions(): void;
    previewRangeEnd(date: any): void;
    syncRangeStart(rangeStart: any, picker: any): void;
    selectStart(date: Date): void;
    selectEnd(date: Date): void;
    consolidateTime(): void;
    chooseToday(event: any): void;
    clearBtn(event: any): void;
    clear: (side: "start" | "end") => void;
    setI18nText(): void;
    ngOnDestroy(): void;
}
