import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { Subject, Subscription } from 'rxjs';
import { DatepickerProService } from './../datepicker-pro.service';
import * as i0 from "@angular/core";
export declare class MonthPanelComponent implements OnInit, OnDestroy {
    protected i18n: I18nService;
    private pickerSrv;
    private cdr;
    scrollBodyCmp: CdkVirtualScrollViewport;
    scrollListCmp: CdkVirtualScrollViewport;
    isRangeType: boolean;
    unsubscribe$: Subject<void>;
    scrollListener: Subscription;
    i18nText: I18nInterface['datePickerPro'];
    i18nSubscription: Subscription;
    yearList: any[];
    calenderItemSize: number;
    currentBodyIndex: any;
    monthList: number[][];
    thisMonth: Date;
    get curHoverDate(): Date;
    set curHoverDate(value: Date);
    get selectedRangeDate(): Date[];
    set selectedRangeDate(dateList: Date[]);
    get currentDate(): Date;
    set currentDate(value: Date);
    constructor(i18n: I18nService, pickerSrv: DatepickerProService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    setI18nText(): void;
    initObservable(): void;
    initList(): void;
    initScrollListener(): void;
    goToDate(date: Date, scrollBehavior?: 'auto' | 'smooth'): void;
    goToListByIndex(index: any): void;
    selectMonth(yearIndex: number, monthIndex: number): void;
    selectYear(yearIndex: number): void;
    isSelected(yearIndex: number, monthIndex: number): boolean;
    isThisMonth(yearIndex: number, monthIndex: number): boolean;
    isDateInRange(yearIndex: number, monthIndex: number): boolean;
    isDisable(yearIndex: number, monthIndex: number): boolean;
    isStartDate(yearIndex: number, monthIndex: number): boolean;
    isEndDate(yearIndex: number, monthIndex: number): boolean;
    isDateAbandon(yearIndex: number, monthIndex: number): boolean;
    isDateInSelectRange(yearIndex: number, monthIndex: number): boolean;
    isActiveTypeDate(yearIndex: number, monthIndex: number): boolean;
    setHoverTarget(yearIndex: number, monthIndex: number): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MonthPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MonthPanelComponent, "d-month-panel", never, { "isRangeType": { "alias": "isRangeType"; "required": false; }; }, {}, never, never, false, never>;
}
