export interface DateTimeRangePeriodValue {
    startDate: string;
    endDate: string;
    startTime?: string;
    endTime?: string;
}
export interface DateTimeRangePickerPreset {
    label: string;
    getValue: () => DateTimeRangePeriodValue;
}
export interface DateTimeRangePickerProps {
    open: boolean;
    anchorEl?: HTMLElement | null;
    value?: DateTimeRangePeriodValue | null;
    onConfirm?: (value: DateTimeRangePeriodValue) => void;
    onCancel?: () => void;
    onClear?: () => void;
    /** Show start/end time pickers. Default: false */
    showTime?: boolean;
    /** Maximum number of days in the selected range */
    maxDays?: number;
    /** Minimum selectable date */
    minDate?: Date;
    /** Maximum selectable date */
    maxDate?: Date;
    /** When true, dates after today are disabled */
    disableFuture?: boolean;
    helperText?: string;
    presets?: DateTimeRangePickerPreset[];
    /**
     * Horizontal alignment of the popover relative to the anchor.
     * "start" = left edge aligned (default), "end" = right edge aligned.
     */
    popoverAlign?: "start" | "end";
    /**
     * When true, clamps the popover vertically so it never overflows the viewport bottom.
     */
    constrainToViewport?: boolean;
    /** When false, the clear button is hidden. Default: true */
    showClear?: boolean;
}
