import type { ReactElement } from 'react'; import type { Moment } from 'moment'; import type { BaseProps } from '../../wui-core/src/iCore'; import type { Lang } from '../../wui-core/src/utils/type'; import type { Placement } from '../../wui-datepicker/src/iPicker'; import type { RCTimePickerProps } from './rc/iRCTimePicker'; import { Locale } from '../../wui-locale/src/iLocale'; type HandleTimePickerProps = 'className' | 'getPopupContainer' | 'locale' | 'value' | 'defaultValue' | 'defaultOpenValue' | 'placement' | 'onChange'; export interface TimePickerProps extends Partial>, BaseProps { showClear?: boolean; bordered?: boolean; locale?: Lang; value?: Moment | string | null; defaultValue?: Moment | string | null; defaultOpenValue?: Moment | string; placement?: Placement; suffixIcon?: ReactElement; onChange?: (time: Moment | null, timeString?: string) => void; getPopupContainer?: RCTimePickerProps['getPopupContainer'] | HTMLElement; } export interface TimePickerState { showTime?: boolean | { showHour: boolean; showMinute: boolean; showSecond: boolean; }; langInfo: { lang: string; langMap: Locale; }; value?: Moment | null; defaultValue?: Moment | null; format: string; } export interface TimePickerDefaultProps { allowClear: boolean; bordered: boolean; focusOnOpen: boolean; autoComplete: 'off' | 'on' | string; placeholder: string; locale: string; clearIcon: ReactElement & BaseProps; } export interface TimePickerWithDefaultProps extends Omit, TimePickerDefaultProps { } export {};