import React, { KeyboardEvent, ReactNode } from 'react';
import type { DisabledDate, SelectionTypes, ViewTypes } from './types';
export interface CCalendarPanelProps {
    calendarDate: Date;
    dayFormat?: 'numeric' | '2-digit' | ((date: Date) => string | number);
    disabledDates?: DisabledDate | DisabledDate[];
    endDate: Date | null;
    firstDayOfWeek: number;
    hoverDate: Date | null;
    locale: string;
    maxDate: Date | null;
    minDate: Date | null;
    monthFormat?: 'long' | 'narrow' | 'short' | 'numeric' | '2-digit';
    onCalendarClick: (date: Date) => void;
    onCalendarKeyDown: (event: KeyboardEvent<HTMLDivElement>, date: Date) => void;
    onCalendarMouseEnter: (date: Date) => void;
    onCalendarMouseLeave: () => void;
    order: number;
    renderDayCell?: (date: Date, meta: {
        isDisabled: boolean;
        isInCurrentMonth: boolean;
        isInRange: boolean;
        isSelected: boolean;
        isToday: boolean;
    }) => ReactNode;
    renderMonthCell?: (date: Date, meta: {
        isDisabled: boolean;
        isInRange: boolean;
        isSelected: boolean;
    }) => ReactNode;
    renderQuarterCell?: (date: Date, meta: {
        isDisabled: boolean;
        isInRange: boolean;
        isSelected: boolean;
    }) => ReactNode;
    renderYearCell?: (date: Date, meta: {
        isDisabled: boolean;
        isInRange: boolean;
        isSelected: boolean;
    }) => ReactNode;
    selectAdjacementDays: boolean;
    selectEndDate: boolean | undefined;
    selectionType: SelectionTypes;
    showAdjacementDays: boolean;
    showWeekNumber: boolean;
    startDate: Date | null;
    view: ViewTypes;
    weekdayFormat: number | 'long' | 'narrow' | 'short' | ((date: Date) => string | number);
    weekNumbersLabel: string | undefined;
    yearFormat?: 'numeric' | '2-digit';
}
export declare const CCalendarPanel: React.ForwardRefExoticComponent<CCalendarPanelProps & React.RefAttributes<HTMLTableElement>>;
