import { ReactNode } from 'react';
import { BaseProps } from '../../base/props';
export interface CalendarCardDay {
    type?: 'prev' | 'current' | 'next';
    year: number;
    month: number;
    date: number;
}
export interface CalendarCardMonth {
    year: number;
    month: number;
}
export type CalendarCardValue = Date | Date[] | null;
export type CalendarCardRef = {
    jump: (step: number) => void;
    jumpTo: (year: number, month: number) => void;
};
export interface BaseCalendarCard extends BaseProps {
    type: 'single' | 'multiple' | 'range' | 'week';
    title: ReactNode;
    value: CalendarCardValue;
    defaultValue: CalendarCardValue;
    firstDayOfWeek: number;
    startDate: Date;
    endDate: Date;
    weekdays?: string[];
    disableDay: (day: CalendarCardDay) => boolean;
    renderDay: (day: CalendarCardDay) => ReactNode;
    renderDayTop: (day: CalendarCardDay) => ReactNode;
    renderDayBottom: (day: CalendarCardDay) => ReactNode;
    onDayClick: (day: CalendarCardDay) => void;
    onPageChange: (data: CalendarCardMonth) => void;
    onChange: (value: CalendarCardValue) => void;
}
