import { ReactNode } from "react"; import type { ReactDatePickerCustomHeaderProps } from "react-datepicker"; import { BaseInputProps } from "@components/Input/Input.interface"; export type DatePickerInput = { enabledKeys: string[]; label?: string; inputId: string; errorMessage?: ReactNode; supportingText?: string; } & Omit; export interface DatePickerProps { id: string; label?: string; supportingText?: string; errorMessage?: ReactNode; variant?: TDatePickerVariant; dateFormat?: TDateFormat; selectedDate?: TSelectedDate; onSelectDate: (date: TSelectedDate) => void; cancelText?: string; confirmText?: string; placeholderText?: string; displayActionButtons?: boolean; colorWeekends?: boolean; disabled?: boolean; } export interface DatePickerHeaderProps extends ReactDatePickerCustomHeaderProps { onHeaderDateClick(): void; onCancelClick?(): void; onConfirmClick?(): void; currentPicker: TDatePickerDataVariant; } export interface DatePickerActionButtonProps extends Pick { cancelText: string; confirmText: string; } export type TSelectedDate = Date | [Date | null, Date | null] | undefined | null; export type TDatePickerDataVariant = "day" | "month" | "year"; export type TDatePickerVariant = "date" | "range"; export declare enum EDateRange { START = 0, END = 1 } export type TDateFormat = "MM/dd/yyyy" | "dd/MM/yyyy" | "dd.MM.yyyy" | "MM.dd.yyyy";