import moment from 'moment'; import { CalendarDay, DateModel, IDateValidators, ISelectedMonthYear } from './types'; export declare type DateList = CalendarDay[]; export declare type IsValid = boolean; export declare type MetaDataTop = string; export declare type MetaDataBottom = string; export declare type IsActivityDate = boolean; export declare type DateTransformation = (d: CalendarDay) => DateModel; export declare type DateValidation = (m: moment.Moment) => IsValid; export declare type GenerateMetaData = (m: moment.Moment) => [MetaDataTop, MetaDataBottom, IsActivityDate]; export declare function getValidDaysOfWeek(checksum?: number): number[]; export declare function validateAgainstChecksum(validDaysOfWeek: number[], newDate: moment.Moment): IsValid; export declare function validateAgainstBlacklist(invalidDateMoments: moment.Moment[], newDate: moment.Moment): IsValid; export declare function validateAgainstWhitelist(validDateMoments: moment.Moment[], newDate: moment.Moment): IsValid; export declare function buildDatesFromWhitelist(validDateMoments: moment.Moment[], invalidDateMoments: moment.Moment[], selectedMonthYear: ISelectedMonthYear, currentSelection: moment.Moment | undefined, daysOfWeek: string[], dateValidators: IDateValidators): DateList; export declare function buildDatesFromChecksum(validDaysOfWeek: number[], invalidDateMoments: moment.Moment[], selectedMonthYear: ISelectedMonthYear, currentSelection: moment.Moment | undefined, daysOfWeek: string[], dateValidators: IDateValidators): DateList; export declare function generateDateList({ monthIndex, selectedMonth: month, selectedYear: year }: ISelectedMonthYear, currentSelection: moment.Moment | undefined, daysOfWeek: string[], dateValidators: IDateValidators, validationFns: DateValidation[], genMetaData: GenerateMetaData): DateList;