import { ControlValueAccessor } from '@angular/forms';
import { OnInit, EventEmitter, ElementRef, ViewContainerRef, Renderer2, OnDestroy, TemplateRef } from '@angular/core';
import { ConnectedOverlayPositionChange, VerticalConnectionPos } from '@angular/cdk/overlay';
import { DateConverter } from '@duoduo-oba/ng-devui/utils';
import { SelectDateRangeChangeEventArgs } from './date-range-change-event-args.model';
import { DatePickerConfigService as DatePickerConfig } from './date-picker.config.service';
import { I18nService, I18nInterface } from '@duoduo-oba/ng-devui/i18n';
import { Subject } from 'rxjs';
export declare class DateRangePickerComponent implements OnInit, ControlValueAccessor, OnDestroy {
    private elementRef;
    private viewContainerRef;
    private renderer;
    private datePickerConfig;
    private i18n;
    dateConfig: any;
    dateFormat: string;
    maxDate: Date | any;
    minDate: Date | any;
    isOpen: boolean;
    locale: string;
    cssClass: string;
    disabled: boolean;
    dateConverter: DateConverter;
    selectedRange: any[];
    showTime: boolean;
    hideOnRangeSelected: boolean;
    customViewTemplate: TemplateRef<any>;
    splitter: string;
    selectedRangeChange: EventEmitter<SelectDateRangeChangeEventArgs>;
    leftPicker: ElementRef;
    rightPicker: ElementRef;
    templateWrap: ElementRef;
    private _isOpen;
    private _dateConfig;
    private _dateFormat;
    private _maxDate;
    private _minDate;
    private clickShow;
    private inputSub;
    currentCalendars: any[];
    cdkConnectedOverlayOrigin: any;
    i18nLocale: I18nInterface['locale'];
    private i18nSubscription;
    hoverOnDate: Subject<object>;
    datepickerPosition: VerticalConnectionPos;
    rangeStart: any;
    rangeEnd: any;
    private onChange;
    private onTouched;
    constructor(elementRef: ElementRef, viewContainerRef: ViewContainerRef, renderer: Renderer2, datePickerConfig: DatePickerConfig, i18n: I18nService);
    ngOnInit(): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    writeValue(selectedRange: any): void;
    setI18nText(): void;
    rangeChange(data: any): void;
    chooseDate: (range: any) => void;
    updateCdkConnectedOverlayOrigin(): void;
    toggle($event: Event, clickShow?: boolean): void;
    hide(): void;
    private writeModelValue;
    private formatDateRange;
    onBlur($event: any): void;
    onDocumentClick($event: any): void;
    onPositionChange(position: ConnectedOverlayPositionChange): void;
    convertDate(date: any): Date;
    selectingDate(event: any): void;
    subscribeHoverActions(): void;
    previewRangeEnd(date: any): void;
    syncRangeStart(rangeStart: any, picker: any): void;
    syncPickerPair(currentCalender: object, orientation: string): void;
    notifyValueChange(range: any, reason?: any): void;
    consolidateTime(): void;
    private transUserInputToDatepicker;
    ngOnDestroy(): void;
    clearAll: () => void;
}
