import { type Day } from 'date-fns';
import type { CalendarDate, UnixTime } from './types';
export declare const cls: (className: string) => string;
/**
 * 根据一个 Date，计算其所在月份日历
 *
 * @param date 输入的 Date
 * @param options 选项
 * @param options.startDay 一周的第一天，默认为周一
 * @param options.weekNum 一个月的周数，默认为 6
 * @returns 日历数据
 */
export declare const generateCalendarDates: (date: CalendarDate, options?: {
    startDay?: Day;
    weekNum?: number;
}) => CalendarDate[];
/**
 * 根据一个 Date，计算其所在月份月历
 *
 * @param date 输入的 Date
 */
export declare const generateCalendarMonths: (date: CalendarDate) => CalendarDate[];
export declare const isSameDate: (date1: CalendarDate, date2: CalendarDate) => boolean;
export declare const isSameMonth: (date1: CalendarDate, date2: CalendarDate) => boolean;
export declare const convertDateToCalendarDate: (date: Date) => CalendarDate;
export declare const convertCalendarDateToDate: (date: CalendarDate) => Date;
/**
 * 将 Unix 原子时转换为 CalendarDate
 * @param time UnixTime
 */
export declare const convertUnixTimeToCalendarDate: (time: UnixTime) => CalendarDate;
/**
 * 将 CalendarDate 转换为 Unix 原子时
 * @param date CalendarDate
 * @param precisionOffset 补偿 CalendarDate 中没有的「时、分、秒、毫秒」精度数据。若值大于 24 小时，则取时间部分的值，日期部分取 CalendarDate 中的
 */
export declare const convertCalendarDateToUnixTime: (date: CalendarDate, precisionOffset?: UnixTime) => UnixTime;
export declare const getToday: () => CalendarDate;
