import { ElementRef, Renderer2, EventEmitter, ChangeDetectorRef, SimpleChanges, OnChanges, OnInit } from '@angular/core';
import { DatepickerComponent as SingleDatepickerComponent } from './datepicker.component';
import { DatePickerConfigService as DatePickerConfig } from './date-picker.config.service';
import { I18nService } from '@duoduo-oba/ng-devui/i18n';
import { SelectDateRangeChangeEventArgs } from './date-range-change-event-args.model';
export interface SimpleDate {
    year: number;
    month: number;
}
export declare class SingleDateRangePickerComponent extends SingleDatepickerComponent implements OnChanges, OnInit {
    protected elementRef: ElementRef;
    protected renderer: Renderer2;
    protected datePickerConfig: DatePickerConfig;
    protected changeDetectorRef: ChangeDetectorRef;
    protected i18n: I18nService;
    selectedRange: Date[];
    rangePicker: boolean;
    isAuxiliary: boolean;
    currentCalendars: any[];
    hoverOnDate: EventEmitter<any>;
    rangeSelected: EventEmitter<SelectDateRangeChangeEventArgs>;
    rangeSelecting: EventEmitter<SelectDateRangeChangeEventArgs>;
    syncPickerPair: EventEmitter<{}>;
    consolidateTime: EventEmitter<any>;
    rangeStart: any;
    rangeEnd: any;
    previewEnd: any;
    protected selectingRange: boolean;
    constructor(elementRef: ElementRef, renderer: Renderer2, datePickerConfig: DatePickerConfig, changeDetectorRef: ChangeDetectorRef, i18n: I18nService);
    ngOnInit(): void;
    onSelectDate($event: any, date: any, invocation?: any): void;
    emitHoverDate($event: any, date: any): void;
    selectStart(date: any): void;
    selectEnd(date: any): void;
    convertDate(date: any): Date;
    selectRange(date: any, passive?: boolean): void;
    rangeChange(range: any): void;
    writeValue(selectedRange: any): void;
    protected notifyValueChange(selectedRange: Date[]): void;
    isSelectDay(date: any): boolean;
    ngOnChanges(changes: SimpleChanges): void;
    isInRange(date: any): boolean;
    ensureRangeValueOrder(dateRange: any): any;
    onNextMonth(invocation?: any): void;
    hasNextMonth(): boolean;
    onPreMonth(): void;
    hasPreMonth(): boolean;
    hasPreYearOption(): boolean;
    hasNextYearOption(): boolean;
    onPreYear(): void;
    onNextYear(): void;
    isBeforeMoreThanOneMonth(dateA: SimpleDate, dateB: SimpleDate): boolean;
    isAfterMoreThanOneMonth(dateA: SimpleDate, dateB: SimpleDate): boolean;
    isBeforeMoreThanOneYear(dateA: SimpleDate, dateB: SimpleDate): boolean;
    isAfterMoreThanOneYear(dateA: SimpleDate, dateB: SimpleDate): boolean;
    protected notifyCalenderChange(): void;
    confirmTime(): void;
    private setTime;
    protected onSelectDateChanged(): void;
    readonly currentTime: {
        hour: number;
        minute: number;
        second: number;
    };
}
