import { Component } from 'react'; import type { ChangeEvent, FocusEvent, KeyboardEvent, MouseEvent, HTMLAttributes } from 'react'; import type { CheckEqualType, LocaleType, OnChangeValueType } from './types'; declare type InputFieldName = 'from' | 'to'; declare type TShouldCloseMenu = { focusField: InputFieldName; startDate?: Date | null; endDate?: Date | null; range: boolean; }; export declare type MenuContentProps = { startDate?: Date | null; endDate?: Date | null; show: boolean; range?: IsRange; parseDate: (value: string, locale: LocaleType) => Date | null | undefined; close: () => void; minDate?: Date | null; maxDate?: Date | null; displayFormat: (value: Date | null | undefined, locale: LocaleType) => string; locale: LocaleType; defaultFocus?: Date | Date[]; onChange: (value: OnChangeValueType) => void; domProps?: HTMLAttributes; isDateDisabled?: (value: Date) => boolean | null; }; declare type StateType = { focusField: InputFieldName; from: string; to: string; selected?: Date | null; show: boolean; }; declare class MenuContent extends Component, StateType> { static defaultProps: { range: boolean; startDate: null; endDate: null; minDate: null; maxDate: null; defaultFocus: null; isDateDisabled: null; domProps: {}; style: {}; }; constructor(props: MenuContentProps); static getDerivedStateFromProps(props: MenuContentProps, state: StateType): StateType | { show: false; } | null; onFocus: ({ target: { name, }, }: FocusEvent) => void; onClick: ({ target, }: MouseEvent) => void; onInputChange: ({ target: { value, }, }: ChangeEvent) => void; onKeyDown: ({ target, key, }: KeyboardEvent) => void; onDayChange: (date: Date | null | undefined) => void; onSelectedChange: (selected: Date | null) => void; focusOnField: (name: InputFieldName) => void; setValueAndReturn(fieldName: InputFieldName, fieldValue: Date | null | undefined): { startDate: Date | null | undefined; endDate: Date | null | undefined; }; formatDateValue(fieldName: InputFieldName, value: Date | null | undefined): OnChangeValueType; shouldCloseMenu: ({ focusField, range, startDate, endDate, }: TShouldCloseMenu) => boolean; isValid(value: string): boolean; isSelected: (day: Date | null) => boolean; isBordered: (day: Date | null) => boolean; isDisabled: (day: Date | null, checkEqual: CheckEqualType) => boolean; hasFocus: (name: string) => boolean; render(): JSX.Element; } export default MenuContent;