import { ForwardRefExoticComponent, RefAttributes, PropsWithoutRef, ReactNode } from 'react'; import { BaseProps } from '../base'; import { PopoutProps } from '../popout'; export type DatetimeLetter = 'y' | 'M' | 'd' | 'h' | 'm' | 's'; export interface DatetimeColumnOption { value: number; label?: ReactNode; zerofill?: string; [key: PropertyKey]: any; } export type DatetimePickerRef = { getValueForcibly: () => Date; }; export type DateEvery = [number, number, number, number, number, number]; export interface DatetimePickerProps extends BaseProps { type?: string; min?: Date; max?: Date; value?: Date; defaultValue?: Date; onChange?: (value: Date) => void; filter?: (letter: DatetimeLetter, value: number, date: Date, index: number) => boolean; formatter?: (letter: DatetimeLetter, option: DatetimeColumnOption, date: Date, index: number) => ReactNode; withPopout?: boolean; popoutProps?: PopoutProps; outletFormatter?: (type: string, date?: Date) => string; } export interface DatetimePickerFC extends ForwardRefExoticComponent & RefAttributes> { alwaysHasValue: boolean; outletFormatter: typeof outletFormatter; defaultOutletFormatter: typeof defaultOutletFormatter; } declare function defaultOutletFormatter(type: string, date?: Date): string; declare function outletFormatter(props: DatetimePickerProps, value?: Date): string; export declare const DatetimePicker: DatetimePickerFC; export default DatetimePicker;