import { OnDestroy, TemplateRef } from '@angular/core';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class DatepickerProService implements OnDestroy {
    private doc;
    curDate: Date;
    curRangeDate: Date[];
    curHoverDate: Date;
    startIndexOfWeek: number;
    isRange: boolean;
    markedRangeDateList: Date[][];
    markDateInfoTemplate: TemplateRef<any>;
    markedDateList: Date[];
    showTime: boolean;
    calendarRange: number[];
    currentActiveInput: 'start' | 'end';
    _minDate: Date;
    set minDate(value: Date);
    get minDate(): Date;
    _maxDate: Date;
    set maxDate(value: Date);
    get maxDate(): Date;
    document: Document;
    get closeAfterSelected(): boolean;
    get curHour(): number;
    get curMin(): number;
    get curSec(): number;
    readonly toggleEvent: Subject<boolean>;
    readonly closeDropdownEvent: Subject<boolean>;
    readonly activeInputChange: Subject<"end" | "start">;
    readonly selectedDateChange: Subject<{
        type: 'single' | 'range';
        value: Date | Date[];
    }>;
    readonly updateDateValue: Subject<{
        type: 'single' | 'range';
        value: Date | Date[];
    }>;
    readonly selectedTimeChange: Subject<{
        activeInput?: 'start' | 'end';
        hour: number;
        min: number;
        seconds: number;
    }>;
    readonly updateTimeChange: Subject<{
        activeInput?: 'start' | 'end';
        hour: number;
        min: number;
        seconds: number;
    }>;
    readonly detectedChanges: Subject<void>;
    constructor(doc: any);
    dateInRange(date: Date): boolean;
    resetMin(): void;
    resetMax(): void;
    fixRangeDate(): void;
    isStartDate(date: Date): boolean;
    isEndDate(date: Date): boolean;
    isDateInRange(date: Date): boolean;
    isDateInSelectRange(date: Date): boolean;
    isDateActive(date: Date): boolean;
    isMonthActive(yearIndex: number, monthIndex: number): boolean;
    isYearActive(yearIndex: number): boolean;
    isActiveInputTypeDate(date: Date): boolean;
    isDateAbandon(date: Date): boolean;
    isInSuggestList(date: Date): boolean;
    isMarkedDate(date: Date): boolean;
    mearsureStrWidth(str: string): number;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerProService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DatepickerProService>;
}
export declare class DatepickerProCommonDataService {
    calendarDataCache: {};
    static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerProCommonDataService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<DatepickerProCommonDataService>;
}
