export interface DateRange {
    start: Date | null;
    end: Date | null;
}
export interface CalendarDay {
    date: Date;
    isCurrentMonth: boolean;
    isToday: boolean;
    isSelected: boolean;
    isInRange: boolean;
    isRangeStart: boolean;
    isRangeEnd: boolean;
    isDisabled: boolean;
}
export interface CalendarMonth {
    year: number;
    month: number;
    days: CalendarDay[];
    weekdays: string[];
}
/**
 * Get the current date with time set to midnight
 */
export declare function today(): Date;
/**
 * Create a new date with time set to midnight
 */
export declare function normalizeDate(date: Date): Date;
/**
 * Check if two dates are the same day
 */
export declare function isSameDay(date1: Date, date2: Date): boolean;
/**
 * Check if a date is between two other dates (inclusive)
 */
export declare function isBetween(date: Date, start: Date, end: Date): boolean;
/**
 * Add months to a date
 */
export declare function addMonths(date: Date, months: number): Date;
/**
 * Add days to a date
 */
export declare function addDays(date: Date, days: number): Date;
/**
 * Get the first day of the month
 */
export declare function getFirstDayOfMonth(year: number, month: number): Date;
/**
 * Get the last day of the month
 */
export declare function getLastDayOfMonth(year: number, month: number): Date;
/**
 * Get the number of days in a month
 */
export declare function getDaysInMonth(year: number, month: number): number;
/**
 * Get weekday names for the current locale
 */
export declare function getWeekdayNames(locale?: string): string[];
/**
 * Get month names for the current locale
 */
export declare function getMonthNames(locale?: string): string[];
/**
 * Format a date according to locale
 */
export declare function formatDate(date: Date, locale?: string, options?: Intl.DateTimeFormatOptions): string;
/**
 * Parse a date string in various formats
 */
export declare function parseDate(dateString: string): Date | null;
/**
 * Generate calendar data for a specific month
 */
export declare function generateCalendarMonth(year: number, month: number, selectedDate?: Date | null, selectedRange?: DateRange | null, disabledDates?: Date[], locale?: string): CalendarMonth;
/**
 * Get the ISO string for a date (YYYY-MM-DD format)
 */
export declare function toISODateString(date: Date): string;
/**
 * Create a date from ISO string (YYYY-MM-DD format)
 */
export declare function fromISODateString(isoString: string): Date | null;
/**
 * Validate if a date range is valid (start <= end)
 */
export declare function isValidRange(range: DateRange): boolean;
/**
 * Get the number of days between two dates
 */
export declare function getDaysBetween(start: Date, end: Date): number;
//# sourceMappingURL=DatePickerUtils.d.ts.map