import * as React from 'react'; import { type DateRange } from 'react-day-picker'; export interface DateFilterButtonProps { /** The selected date value */ value?: Date; /** Callback when date changes */ onChange?: (date: Date | undefined) => void; /** Placeholder text when no date is selected */ placeholder?: string; /** Whether the date picker is disabled */ disabled?: boolean; /** Custom class name for the trigger button */ className?: string; /** Format string for displaying the date */ dateFormat?: string; /** Minimum selectable date */ minDate?: Date; /** Maximum selectable date */ maxDate?: Date; /** Dates to disable */ disabledDates?: Date[] | ((date: Date) => boolean); /** Text direction for RTL support */ dir?: 'ltr' | 'rtl'; } export interface DateRangeFilterButtonProps { /** The selected date range value */ value?: DateRange; /** Callback when date range changes */ onChange?: (range: DateRange | undefined) => void; /** Placeholder text when no dates are selected */ placeholder?: string; /** Whether the date picker is disabled */ disabled?: boolean; /** Custom class name for the trigger button */ className?: string; /** Format string for displaying dates */ dateFormat?: string; /** Minimum selectable date */ minDate?: Date; /** Maximum selectable date */ maxDate?: Date; /** Dates to disable */ disabledDates?: Date[] | ((date: Date) => boolean); /** Text direction for RTL support */ dir?: 'ltr' | 'rtl'; } export interface DatePickerProps { /** The selected date value */ value?: Date; /** Callback when date changes */ onChange?: (date: Date | undefined) => void; /** Placeholder text when no date is selected */ placeholder?: string; /** Whether the date picker is disabled */ disabled?: boolean; /** Custom class name for the trigger button */ className?: string; /** Format string for displaying the date */ dateFormat?: string; /** Minimum selectable date */ minDate?: Date; /** Maximum selectable date */ maxDate?: Date; /** Dates to disable */ disabledDates?: Date[] | ((date: Date) => boolean); /** Text direction for RTL support */ dir?: 'ltr' | 'rtl'; } export interface DateRangePickerProps { /** The selected date range value */ value?: DateRange; /** Callback when date range changes */ onChange?: (range: DateRange | undefined) => void; /** Placeholder text when no dates are selected */ placeholder?: string; /** Whether the date picker is disabled */ disabled?: boolean; /** Custom class name for the trigger button */ className?: string; /** Format string for displaying dates */ dateFormat?: string; /** Minimum selectable date */ minDate?: Date; /** Maximum selectable date */ maxDate?: Date; /** Dates to disable */ disabledDates?: Date[] | ((date: Date) => boolean); /** Text direction for RTL support */ dir?: 'ltr' | 'rtl'; } export interface TimePickerProps { /** The selected time value (as a string "HH:MM") */ value?: string; /** Callback when time changes */ onChange?: (time: string | undefined) => void; /** Placeholder text when no time is selected */ placeholder?: string; /** Whether the time picker is disabled */ disabled?: boolean; /** Custom class name for the trigger button */ className?: string; /** Minimum selectable time (as "HH:MM") */ minTime?: string; /** Maximum selectable time (as "HH:MM") */ maxTime?: string; /** Step interval for minutes (default: 5) */ minuteStep?: number; /** Text direction for RTL support */ dir?: 'ltr' | 'rtl'; /** Use 24-hour format (default: true) */ use24Hour?: boolean; } /** * DatePicker - A date picker component with a popover calendar * Matches the HumainOS design system */ declare function DatePicker({ value, onChange, placeholder, disabled, className, dateFormat, minDate, maxDate, disabledDates, dir, }: DatePickerProps): React.JSX.Element; declare namespace DatePicker { var displayName: string; } /** * DateRangePicker - A date range picker component with a two-month popover calendar * Matches the HumainOS design system */ declare function DateRangePicker({ value, onChange, placeholder, disabled, className, dateFormat, minDate, maxDate, disabledDates, dir, }: DateRangePickerProps): React.JSX.Element; declare namespace DateRangePicker { var displayName: string; } /** * TimePicker - A time picker component with hour and minute selection * Matches the HumainOS design system */ declare function TimePicker({ value, onChange, placeholder, disabled, className, minTime, maxTime, minuteStep, dir, use24Hour, }: TimePickerProps): React.JSX.Element; declare namespace TimePicker { var displayName: string; } /** * DateFilterButton - A compact date filter button matching Figma filter button design * Gray background, rounded corners, compact padding with calendar icon */ declare function DateFilterButton({ value, onChange, placeholder, disabled, className, dateFormat, minDate, maxDate, disabledDates, dir, }: DateFilterButtonProps): React.JSX.Element; declare namespace DateFilterButton { var displayName: string; } /** * DateRangeFilterButton - A compact date range filter button matching Figma filter button design * Gray background, rounded corners, compact padding with calendar icon */ declare function DateRangeFilterButton({ value, onChange, placeholder, disabled, className, dateFormat, minDate, maxDate, disabledDates, dir, }: DateRangeFilterButtonProps): React.JSX.Element; declare namespace DateRangeFilterButton { var displayName: string; } export { DateFilterButton, DatePicker, DateRangeFilterButton, DateRangePicker, TimePicker, };