export type YearMonthDayString = string; export type DateIsoString = string; export type DateString = YearMonthDayString | DateIsoString; export type DateConstructorType = string | number | Date; export interface PickDate { (year: number, setTime: SetYear | SetMonth): void; } export interface ClickDate { (date: YearMonthDayString): void; } export interface AddOrSubDate { (date: Date, amount: number): Date; } export interface OnArrowClick { (addOrSubDate: AddOrSubDate): void; } export declare const lastDayOfMonth: (dirtyDate: Date) => Date; export declare const getDaysInMonth: (date: Date) => number; export declare const addDays: AddOrSubDate; export declare const toISO: (date: Date) => YearMonthDayString; export declare const toDate: (dateString: DateString) => Date; export declare const startOfMonth: (dirtyDate: Date) => Date; export declare const subDays: AddOrSubDate; export declare const eachDay: (startDate: Date, endDate: Date) => Date[]; export interface SetMonth { (dirtyDate: Date, dirtyMonth: number): Date; } export declare const setMonth: SetMonth; export declare const addMonths: AddOrSubDate; export declare const subMonths: AddOrSubDate; export declare const isSameMonth: ({ date, inDate }: { date?: Date | undefined; inDate: Date; }) => boolean; export interface SetYear { (dirtyDate: Date, dirtyYear: number): Date; } export declare const setYear: SetYear; export declare const addYears: AddOrSubDate; export declare const subYears: AddOrSubDate; export declare const differenceInCalendarMonths: (dirtyDateLeft: Date, dirtyDateRight: Date) => number;