import React, { ReactNode } from 'react'; import { GenerateConfig } from 'rc-picker/lib/generate/index'; import { PickerBaseProps as RCPickerBaseProps, PickerDateProps as RCPickerDateProps, PickerTimeProps as RCPickerTimeProps } from 'rc-picker/lib/Picker'; import { RangePickerBaseProps as RCRangePickerBaseProps, RangePickerDateProps as RCRangePickerDateProps, RangePickerTimeProps as RCRangePickerTimeProps } from 'rc-picker/lib/RangePicker'; import { Locale as RcPickerLocale } from 'rc-picker/lib/interface'; import PickerButton from '../PickerButton'; import PickerTag from '../PickerTag'; import { Dayjs } from 'dayjs'; import { LabelTooltipProps } from '../../Label'; import { TooltipProps } from '../../Tooltip'; export type ShortcutType = { text: string; value: Dayjs[] | (() => Dayjs[]); }; type SizeType = 'small' | 'medium' | 'large' | undefined; export interface TimePickerLocale { placeholder?: string; rangePlaceholder?: [string, string]; } export type NullableDateType = DateType | null | undefined | string; export type Value = NullableDateType; export type RangeValue = [NullableDateType, NullableDateType] | null; export declare const Components: { button: typeof PickerButton; rangeItem: typeof PickerTag; }; type InjectDefaultProps = Omit & { /** 国际化 */ locale?: 'zh' | 'en'; /** 大小 */ size?: SizeType; /** 显示边框 */ bordered?: boolean; /** 显示错误 */ error?: boolean; /** 帮助文本 */ helperText?: ReactNode; /** value */ value?: Type extends 'range' ? RangeValue : NullableDateType; /** 默认值 */ defaultValue?: Type extends 'range' ? RangeValue : NullableDateType; /** 标题 */ label?: ReactNode; /** 帮助提示信息 */ labelTooltip?: LabelTooltipProps; /** 是否必填 */ required?: boolean; /** 关闭时是否把弹框定位至屏幕之外,隔离dom污染,默认false */ isolationPopupOnHide?: boolean; /** * 禁用提示 */ disabledTooltip?: TooltipProps; }; export declare const pickerFormatMap: { [index: string]: string; }; export type PickerLocale = { lang: RcPickerLocale & AdditionalPickerLocaleLangProps; timePickerLocale: TimePickerLocale; } & AdditionalPickerLocaleProps; export type AdditionalPickerLocaleProps = { dateFormat?: string; dateTimeFormat?: string; weekFormat?: string; monthFormat?: string; }; export type AdditionalPickerLocaleLangProps = { placeholder?: string; yearPlaceholder?: string; quarterPlaceholder?: string; monthPlaceholder?: string; weekPlaceholder?: string; rangeYearPlaceholder?: [string, string]; rangeMonthPlaceholder?: [string, string]; rangeWeekPlaceholder?: [string, string]; rangePlaceholder?: [string, string]; }; export type PickerBaseProps = InjectDefaultProps, ''>; export type PickerDateProps = InjectDefaultProps, ''>; export type PickerTimeProps = InjectDefaultProps, ''>; export type PickerProps = PickerBaseProps | PickerDateProps | PickerTimeProps; export type RangePickerBaseProps = InjectDefaultProps, 'range'>; export type RangePickerDateProps = InjectDefaultProps, 'range'>; export type RangePickerTimeProps = InjectDefaultProps, 'range'>; export type RangePickerProps = (RangePickerBaseProps | RangePickerDateProps | RangePickerTimeProps) & { /** 预设时间范围快捷选择 */ /** @deprecated Please use `presets` instead */ shortcuts?: ShortcutType[]; /** 预设范围选择面板位置 */ shortcutsPlacement?: 'left' | 'right'; }; declare function generatePicker(generateConfig: GenerateConfig): import("./interface").PickerComponentClass, unknown> & { WeekPicker: import("./interface").PickerComponentClass, "picker">, unknown>; MonthPicker: import("./interface").PickerComponentClass, "picker">, unknown>; YearPicker: import("./interface").PickerComponentClass, "picker">, unknown>; RangePicker: React.ComponentClass>; TimePicker: import("./interface").PickerComponentClass, unknown>; QuarterPicker: import("./interface").PickerComponentClass, unknown>; }; export default generatePicker;