import type { CalendarDate } from './calendar-date';
import type { Nullable } from '../../types/general';
/**
 * Get a week days array
 *
 * @param {number} firstWeekDay - The first week day (0: Sunday, 1: Monday, ...)
 * @returns {number[]} - The week days array
 */
export declare const getWeekdays: (firstWeekDay?: number) => number[];
export declare enum WeekdayLongNames {
  sun = "Sunday",
  mon = "Monday",
  tue = "Tuesday",
  wed = "Wednesday",
  thu = "Thursday",
  fri = "Friday",
  sat = "Saturday"
}
/**
 * Get the system timezone identifier
 *
 * @returns {string} - The system timezone identifier (e.g., "America/New_York")
 */
export declare const getSystemTimezone: () => string;
/**
 * Build an aria announcement string for date picker selection.
 * TODO: consider to implement i18n for aria announcement .
 *
 * @param {object} options - The options for building the announcement.
 * @param {'single' | 'range'} options.mode - The date picker selection mode.
 * @param {Nullable<CalendarDate>} options.startDate - The start date.
 * @param {Nullable<CalendarDate>} [options.endDate] - The end date (used in range mode).
 * @returns {string} - The aria announcement string.
 */
export declare const buildDatePickerAnnouncement: (options: {
  mode: 'single' | 'range';
  startDate: Nullable<CalendarDate>;
  endDate?: Nullable<CalendarDate>;
}) => string;
