import { CalendarDay, DateEmpty, Year, DateValidators, SelectedMonthYear } from './q2-calendar-types'; export type DateList = CalendarDay[]; export type IsValid = boolean; export type IsActivityDate = boolean; export type DateValidation = (date: Date) => IsValid; export declare function generateDatesFromMonthYear(month: number, year: Year): Date[]; export declare function getValidDaysOfWeek(checksum?: number): number[]; export declare function validateAgainstChecksum(validDaysOfWeek: number[], newDate: Date): IsValid; export declare function validateAgainstBlacklist(invalidDates: Date[], newDate: Date): IsValid; export declare function validateAgainstWhitelist(validDates: Date[], newDate: Date): IsValid; export declare function buildDates(validDaysOfWeek: number[], validDates: Date[], invalidDates: Date[], selectedMonthYear: SelectedMonthYear, currentSelection: Date | undefined, dateValidators: DateValidators, typedValue: string): DateList; export declare function generateDateList({ monthIndex, selectedYear }: SelectedMonthYear, currentSelection: Date | undefined, dateValidators: DateValidators, validationFns: DateValidation[], typedValue: string): DateList; export declare function baseValidation(dateValidators: DateValidators, now: Date, newDate: Date): boolean; export declare function getDayState(dayInMonth: Date, dateValidators: DateValidators, currentDate: Date | undefined): { isSelected: boolean; isToday: boolean; isStartDate: boolean; isEndDate: boolean; }; export declare function generateClassesForCalDay({ isInvalid, isSelected, isEndDate, isStartDate, isToday, isIncompleteDate, }: { isInvalid: boolean; isSelected: boolean; isEndDate: boolean; isStartDate: boolean; isToday: boolean; isIncompleteDate: boolean; }): string; export declare function addEmptiesMonthStart(monthStartDayOfWeek: number): DateEmpty[]; export declare function addEmptiesMonthEnd(monthEndDayOfWeek: number): DateEmpty[]; export declare const emptyDate: DateEmpty; export declare function addEmptyDates(from: number, to: number): DateEmpty[];