import { ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';
import { I18nService } from 'ng-devui/i18n';
import { DatePickerConfigService as DatePickerConfig } from './date-picker.config.service';
import { SelectDateRangeChangeEventArgs } from './date-range-change-event-args.model';
import { DatepickerComponent as SingleDatepickerComponent } from './datepicker.component';
import * as i0 from "@angular/core";
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;
    private timer;
    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, reason?: any): void;
    writeValue(selectedRange: any): void;
    protected notifyValueChange(selectedRange: Date[], reason?: any): void;
    isSelectDay(date: any): boolean;
    isBetweenDay(date: any): string;
    isDisabledTime(): boolean;
    timeUp(type: any): void;
    timeDown(type: any): void;
    fixTime(event: any, type: any): void;
    timeChange(): void;
    isSameDate(date1: Date, date2: Date): boolean;
    ngOnChanges(changes: SimpleChanges): void;
    isInRange(date: any): boolean;
    ensureRangeValueOrder(dateRange: Date[], initTime?: boolean): Date[];
    fixReverseTime(dateRange: Date[]): void;
    onNextMonth(invocation?: any): void;
    hasNextMonth(): boolean;
    onPreMonth(): void;
    hasPreMonth(): boolean;
    hasPreYearOption(): boolean;
    hasNextYearOption(): boolean;
    isYearDisable(year: number): boolean;
    isMonthDisable(month: string): boolean;
    onPreYear(): void;
    onNextYear(): void;
    onSelectMonth(month: any): void;
    onSelectYear(year: any, $event?: Event): 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;
    get currentTime(): {
        hour: string | number;
        minute: string | number;
        second: string | number;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<SingleDateRangePickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SingleDateRangePickerComponent, "d-datepicker-range-single", never, { "selectedRange": "selectedRange"; "rangePicker": "rangePicker"; "isAuxiliary": "isAuxiliary"; "currentCalendars": "currentCalendars"; }, { "hoverOnDate": "hoverOnDate"; "rangeSelected": "rangeSelected"; "rangeSelecting": "rangeSelecting"; "syncPickerPair": "syncPickerPair"; "consolidateTime": "consolidateTime"; }, never, never, false>;
}
