import * as React from 'react'; import { GenerateConfig } from 'rc-picker/lib/generate'; import { PickerPanelBaseProps as RCPickerPanelBaseProps, PickerPanelDateProps as RCPickerPanelDateProps, PickerPanelTimeProps as RCPickerPanelTimeProps } from 'rc-picker/lib/PickerPanel'; import enUS from './locale/en_US'; declare type InjectDefaultProps = Omit & { locale?: typeof enUS; size?: 'large' | 'default' | 'small'; }; export declare type PickerPanelBaseProps = InjectDefaultProps>; export declare type PickerPanelDateProps = InjectDefaultProps>; export declare type PickerPanelTimeProps = InjectDefaultProps>; export declare type PickerProps = PickerPanelBaseProps | PickerPanelDateProps | PickerPanelTimeProps; export declare type CalendarMode = 'year' | 'month'; export declare type HeaderRender = (config: { value: DateType; type: CalendarMode; onChange: (date: DateType) => void; onTypeChange: (type: CalendarMode) => void; }) => React.ReactNode; export interface CalendarProps { prefixCls?: string; className?: string; style?: React.CSSProperties; locale?: typeof enUS; validRange?: [DateType, DateType]; disabledDate?: (date: DateType) => boolean; dateFullCellRender?: (date: DateType) => React.ReactNode; dateCellRender?: (date: DateType) => React.ReactNode; monthFullCellRender?: (date: DateType) => React.ReactNode; monthCellRender?: (date: DateType) => React.ReactNode; headerRender?: HeaderRender; value?: DateType; defaultValue?: DateType; mode?: CalendarMode; fullscreen?: boolean; onChange?: (date: DateType) => void; onPanelChange?: (date: DateType, mode: CalendarMode) => void; onSelect?: (date: DateType) => void; } declare function generateCalendar(generateConfig: GenerateConfig): (props: CalendarProps) => JSX.Element; export default generateCalendar;