import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { DateFormatter } from './date-formatter';
declare type CompareDatesFn = (date1: Date, date2: Date) => number;
export declare class DatePickerInnerComponent implements OnInit, OnChanges {
    locale?: string;
    datepickerMode?: string;
    startingDay?: number;
    yearRange?: number;
    minDate?: Date;
    maxDate?: Date;
    minMode?: string;
    maxMode?: string;
    showWeeks?: boolean;
    formatDay?: string;
    formatMonth?: string;
    formatYear?: string;
    formatDayHeader?: string;
    formatDayTitle?: string;
    formatMonthTitle?: string;
    onlyCurrentMonth?: boolean;
    shortcutPropagation?: boolean;
    customClass?: {
        date: Date;
        mode: string;
        clazz: string;
    }[];
    monthColLimit: number;
    yearColLimit: number;
    dateDisabled?: {
        date: Date;
        mode: string;
    }[];
    dayDisabled?: number[];
    initDate?: Date;
    selectionDone: EventEmitter<Date>;
    update: EventEmitter<Date>;
    activeDateChange: EventEmitter<Date>;
    stepDay: {};
    stepMonth: {};
    stepYear: {};
    uniqueId?: string;
    protected modes: string[];
    protected dateFormatter: DateFormatter;
    protected selectedDate?: Date;
    protected activeDateId?: string;
    protected refreshViewHandlerDay?: () => void;
    protected compareHandlerDay?: CompareDatesFn;
    protected refreshViewHandlerMonth?: () => void;
    protected compareHandlerMonth?: CompareDatesFn;
    protected refreshViewHandlerYear?: () => void;
    protected compareHandlerYear?: CompareDatesFn;
    protected _activeDate?: Date;
    get activeDate(): Date | undefined;
    set activeDate(value: Date | undefined);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    checkIfActiveDateGotUpdated(activeDate: any): void;
    setCompareHandler(handler: CompareDatesFn, type: string): void;
    compare(date1?: Date, date2?: Date): number | undefined;
    setRefreshViewHandler(handler: () => void, type: string): void;
    refreshView(): void;
    dateFilter(date: Date, format: string): string;
    isActive(dateObject: any): boolean;
    createDateObject(date: Date, format: string): any;
    split(arr: any[], size: number): any[];
    fixTimeZone(date: Date): Date;
    select(date: Date, isManual?: boolean): void;
    move(direction: number): void;
    toggleMode(_direction: number): void;
    protected getCustomClassForDate(date: Date): string;
    protected compareDateDisabled(date1Disabled: {
        date: Date;
        mode: string;
    }, date2: Date): number | undefined;
    protected isDisabled(date: Date): boolean;
}
export {};
