import React, { Component, type MouseEvent } from 'react'; import PropTypes from 'prop-types'; import { type Moment } from 'moment'; import { type ClassPropsWithDefault } from '../util'; import { checkMomentObj } from './utils'; import type { CalendarMode, CalendarProps, CalendarState, VisibleMonthChangeType } from './types'; type InnerCalendarProps = ClassPropsWithDefault; /** Calendar */ declare class Calendar extends Component { static propTypes: { prefix: PropTypes.Requireable; rtl: PropTypes.Requireable; defaultValue: typeof checkMomentObj; value: typeof checkMomentObj; mode: PropTypes.Requireable; modes: PropTypes.Requireable; disableChangeMode: PropTypes.Requireable; format: PropTypes.Requireable; showOtherMonth: PropTypes.Requireable; defaultVisibleMonth: PropTypes.Requireable<(...args: any[]) => any>; shape: PropTypes.Requireable; onSelect: PropTypes.Requireable<(...args: any[]) => any>; onModeChange: PropTypes.Requireable<(...args: any[]) => any>; onVisibleMonthChange: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable; dateCellRender: PropTypes.Requireable<(...args: any[]) => any>; monthCellRender: PropTypes.Requireable<(...args: any[]) => any>; yearCellRender: PropTypes.Requireable<(...args: any[]) => any>; yearRange: PropTypes.Requireable<(number | null | undefined)[]>; disabledDate: PropTypes.Requireable<(...args: any[]) => any>; locale: PropTypes.Requireable; onChange: PropTypes.Requireable<(...args: any[]) => any>; defaultPropsConfig: PropTypes.Requireable; errorBoundary: PropTypes.Requireable>; pure: PropTypes.Requireable; warning: PropTypes.Requireable; device: PropTypes.Requireable; children: PropTypes.Requireable; popupContainer: PropTypes.Requireable; }; static defaultProps: CalendarProps; static displayName: string; MODES: CalendarMode[]; today: Moment; readonly props: InnerCalendarProps; constructor(props: CalendarProps); static getDerivedStateFromProps(props: CalendarProps, state: CalendarState): Partial; onSelectCell: (date: Moment, nextMode: CalendarMode | MouseEvent) => void; changeMode: (nextMode: CalendarMode) => void; changeVisibleMonth: (date: Moment, reason: VisibleMonthChangeType) => void; /** * 根据日期偏移量设置当前展示的月份 * @param offset - 日期偏移的数量 * @param type - 日期偏移的类型 days, months, years */ changeVisibleMonthByOffset(offset: number, type: 'days' | 'months' | 'years'): void; goPrevDecade: () => void; goNextDecade: () => void; goPrevYear: () => void; goNextYear: () => void; goPrevMonth: () => void; goNextMonth: () => void; render(): React.JSX.Element; } declare const _default: typeof Calendar; export default _default;