import { I18n } from '../../../../interfaces';
export declare function getDaysInMonth(year: number, month: number): number | undefined;
export interface ListItem {
  value: number;
  label: string;
  today?: boolean;
  selected?: boolean;
  disabled?: boolean;
}
export interface DayCell {
  day: number;
  month: number;
  year: number;
  isoDate: string;
  fullDate: string;
  today: boolean;
  disabled: boolean;
}
export declare function emptyCell(): {
  day: number;
  month: number;
  year: number;
  isoDate: string;
  fullDate: string;
  today: boolean;
  disabled: boolean;
};
export declare function generateCalendarGrid(year: number, month: number, min?: string, max?: string, allowedDates?: BalProps.BalDateCalendarAllowedDatesCallback): DayCell[];
export declare function getFirstWeekdayOfMonth(year: number, month: number): number;
export type WeekdayCell = {
  ariaLabel: string;
  textContent: string;
};
export declare function validateLanguage(language: string): keyof I18n<any>;
export declare function generateYears(currentYear: number, minYear: number, maxYear: number): ListItem[];
export declare function generateMonths(language: keyof I18n<any>, currentYear?: number, selectedDate?: string, min?: string, max?: string): ListItem[];
export declare function generateWeekDays(language: keyof I18n<any>): WeekdayCell[];
export declare function getFirstDayOfMonth(year: number, month: number): Date | undefined;
