import * as React from "react"; import { GenerateConfig } from "wcx-picker/lib/generate"; import { PickerPanelBaseProps as RCPickerPanelBaseProps, PickerPanelDateProps as RCPickerPanelDateProps, PickerPanelTimeProps as RCPickerPanelTimeProps } from "wcx-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; extraColFullRender?: (date: DateType) => React.ReactNode; extraColRender?: (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; hideHeader?: boolean; showRestDay?: boolean; showExtraCol?: boolean; onlySwitcMonth?: boolean; } declare function generateCalendar(generateConfig: GenerateConfig): (props: CalendarProps) => JSX.Element; export default generateCalendar;