import React from 'react'; import PropTypes from 'prop-types'; import BaseComponent, { BaseProps } from '../_base/baseComponent'; import ScrollItem from '../scrollList/scrollItem'; import ComboboxFoundation, { formatOption } from '@douyinfe/semi-foundation/lib/cjs/timePicker/ComboxFoundation'; import { TimePickerProps } from './TimePicker'; import { Locale } from '../locale/interface'; export type ComboboxProps = Pick & BaseProps & { defaultOpenValue?: TimePickerProps['value']; showHour?: boolean; showMinute?: boolean; showSecond?: boolean; onChange?: (value: { isAM: boolean; value: string; timeStampValue: number; }) => void; onCurrentSelectPanelChange?: (range: string) => void; isAM?: boolean; timeStampValue?: any; }; export interface ComboboxState { showHour: boolean; showMinute: boolean; showSecond: boolean; hourOptions: number[]; minuteOptions: number[]; secondOptions: number[]; } export type FormatOptionReturn = ReturnType; export interface AMPMOptionItem { value: string; text: string; } declare class Combobox extends BaseComponent { static propTypes: { format: PropTypes.Requireable; defaultOpenValue: PropTypes.Requireable; prefixCls: PropTypes.Requireable; onChange: PropTypes.Requireable<(...args: any[]) => any>; showHour: PropTypes.Requireable; showMinute: PropTypes.Requireable; showSecond: PropTypes.Requireable; disabledHours: PropTypes.Requireable<(...args: any[]) => any>; disabledMinutes: PropTypes.Requireable<(...args: any[]) => any>; disabledSeconds: PropTypes.Requireable<(...args: any[]) => any>; hideDisabledOptions: PropTypes.Requireable; onCurrentSelectPanelChange: PropTypes.Requireable<(...args: any[]) => any>; use12Hours: PropTypes.Requireable; isAM: PropTypes.Requireable; timeStampValue: PropTypes.Requireable; scrollItemProps: PropTypes.Requireable; }; static defaultProps: { disabledHours: (...args: any[]) => void; disabledMinutes: (...args: any[]) => void; disabledSeconds: (...args: any[]) => void; format: string; }; foundation: ComboboxFoundation; constructor(props: ComboboxProps); componentDidUpdate(prevProps: ComboboxProps, prevState: ComboboxState): void; componentWillUnmount(): void; componentDidMount(): void; cacheRefCurrent: (key: string, current: ScrollItem | ScrollItem) => void; reselect: () => void; onItemChange: ({ type, value, disabled }: { type?: string; value: string; disabled?: boolean; }) => void; onEnterSelectPanel: (range: string) => void; renderHourSelect(hour: number, locale: Locale['TimePicker']): React.JSX.Element; renderMinuteSelect(minute: number, locale: Locale['TimePicker']): React.JSX.Element; renderSecondSelect(second: number, locale: Locale['TimePicker']): React.JSX.Element; renderAMPMSelect(locale: Locale['TimePicker'], localeCode: string): React.JSX.Element; getDisplayDateFromTimeStamp: (timeStampValue: Date | string) => any; render(): React.JSX.Element; } export default Combobox;