import { type DateRange, type DayPickerProps } from "react-day-picker";
export type DatePickerMode = "single" | "range";
export interface DatePickerBaseProps {
    /** Placeholder text when no date is selected */
    placeholder?: string;
    /** Format function for displaying the date */
    formatDate?: (date: Date) => string;
    /** Whether the picker is disabled */
    disabled?: boolean;
    /** Additional class name for the trigger button */
    className?: string;
    /** Number of months to display */
    numberOfMonths?: 1 | 2;
    /** Minimum selectable date */
    fromDate?: Date;
    /** Maximum selectable date */
    toDate?: Date;
    /** Locale for formatting */
    locale?: DayPickerProps["locale"];
    /** Label text displayed above the picker */
    label?: string;
    /** Error message displayed below the picker */
    error?: string;
    /** When true, renders red error border */
    invalid?: boolean;
}
export interface SingleDatePickerProps extends DatePickerBaseProps {
    mode: "single";
    value?: Date;
    onChange?: (date: Date | undefined) => void;
}
export interface RangeDatePickerProps extends DatePickerBaseProps {
    mode: "range";
    value?: DateRange;
    onChange?: (range: DateRange | undefined) => void;
}
export type DatePickerProps = SingleDatePickerProps | RangeDatePickerProps;
export declare function DatePicker(props: DatePickerProps): import("react/jsx-runtime").JSX.Element;
export interface DatePickerInputProps extends DatePickerBaseProps {
    mode?: "single";
    value?: Date;
    onChange?: (date: Date | undefined) => void;
    /** Show time selector next to date */
    showTime?: boolean;
    /** Use 24-hour format instead of 12-hour */
    use24HourFormat?: boolean;
}
export declare function DatePickerInput({ placeholder, formatDate, disabled, className, numberOfMonths, fromDate, toDate, locale, value, onChange, showTime, use24HourFormat, label, error, invalid, }: DatePickerInputProps): import("react/jsx-runtime").JSX.Element;
export interface DatePickerInputSimpleProps extends DatePickerBaseProps {
    mode?: "single";
    value?: Date;
    onChange?: (date: Date | undefined) => void;
    /** Show time selector next to date */
    showTime?: boolean;
    /** Time interval in minutes (default: 30) */
    timeInterval?: number;
    /** Use 24-hour format instead of 12-hour */
    use24HourFormat?: boolean;
}
export declare function DatePickerInputSimple({ placeholder, formatDate, disabled, className, numberOfMonths, fromDate, toDate, locale, value, onChange, showTime, timeInterval, use24HourFormat, label, error, invalid, }: DatePickerInputSimpleProps): import("react/jsx-runtime").JSX.Element;
export { type DateRange };
//# sourceMappingURL=date-picker.d.ts.map