///
import * as React from 'react';
import PropTypes from 'prop-types';
import * as moment from 'moment';
export { HeaderProps } from './Header';
export declare type CalendarMode = 'month' | 'year';
export interface CalendarProps {
prefixCls?: string;
className?: string;
value?: moment.Moment;
defaultValue?: moment.Moment;
mode?: CalendarMode;
fullscreen?: boolean;
dateCellRender?: (date: moment.Moment) => React.ReactNode;
monthCellRender?: (date: moment.Moment) => React.ReactNode;
dateFullCellRender?: (date: moment.Moment) => React.ReactNode;
monthFullCellRender?: (date: moment.Moment) => React.ReactNode;
locale?: any;
style?: React.CSSProperties;
onPanelChange?: (date?: moment.Moment, mode?: CalendarMode) => void;
onSelect?: (date?: moment.Moment) => void;
disabledDate?: (current: moment.Moment) => boolean;
validRange?: [moment.Moment, moment.Moment];
}
export interface CalendarState {
value: moment.Moment;
mode?: CalendarMode;
}
export default class Calendar extends React.Component {
static defaultProps: {
locale: {};
fullscreen: boolean;
prefixCls: string;
mode: string;
onSelect: () => null;
onPanelChange: () => null;
};
static propTypes: {
monthCellRender: PropTypes.Requireable<(...args: any[]) => any>;
dateCellRender: PropTypes.Requireable<(...args: any[]) => any>;
monthFullCellRender: PropTypes.Requireable<(...args: any[]) => any>;
dateFullCellRender: PropTypes.Requireable<(...args: any[]) => any>;
fullscreen: PropTypes.Requireable;
locale: PropTypes.Requireable