/**
 * 将日期格式化为指定形式的字符串
 * @param date      日期
 * @param pattern   格式化字符串 yyyy - 年, mm - 月, dd - 日, HH - 小时, MM - 分钟, ss - 秒, S - 毫秒, 默认: yyyy-mm-dd HH:MM:ss
 */
export declare function format(date?: Date | string | number | null, pattern?: string): string;
/**
 * 将指定的参数解析为日期对象(Date)
 * 参考 dayjs 实现, 也可以参考 https://github.com/nomiddlename/date-format
 * @param date 待解析的日期参数
 */
export declare function parse(date?: Date | string | number | null): Date;
/**
 * 设置日期的开始或者结束的点
 * @param date 日期，能够被 parse 解析的日期
 * @param unit 单位，Date|date, 默认为 Date
 * @param isEnd true则为 endOf
 */
export declare function dateOf(date?: Date | string | number, unit?: string, isEnd?: boolean): Date;
/**
 * 设置日期的开始的点
 * @param date 日期，能够被 parse 解析的日期
 * @param unit 单位，Date|date, 默认为 Date
 * @returns
 */
export declare function startOf(date?: Date | string | number, unit?: string): Date;
/**
 * 设置日期的结束点
 * @param date 日期，能够被 parse 解析的日期
 * @param unit 单位，Date|date, 默认为 Date
 * @returns
 */
export declare function endOf(date?: Date | string | number, unit?: string): Date;
/**
 * 获取时间戳
 * @param ctime 时间
 * @param pre 精度, s - 精确到秒, ms - 精确到毫秒, 默认: s
 * @returns
 */
export declare function timestamp(ctime?: Date | string | number, pre?: "s" | "ms"): number;
/**
 * 日期加上指定时间后的日期
 * @param date 指定的日期
 * @param num  需要添加的数字, 如果这个参数传递一个小于0的数字，则就是日期减去相应的数字
 * @param unit 需要添加的单位，date、month、year、hours、minute、second
 *
 * 查阅文档: {@link https://gitee.com/towardly/ph/wikis/utils/date ph-utils}
 *
 * @example <caption>1. 分钟加1并格式化显示时间</caption>
 *
 * add(new Date(), 1, 'minute', 'HHMMss')
 */
export declare function add(date: Date | string | number | null, num: number, unit: string): Date;
/**
 * 日期加上指定时间后的日期
 * @param date    指定的日期, 传递为 null ，则表示为当前日期
 * @param num     需要添加的数字, 如果这个参数传递一个小于0的数字，则就是日期减去相应的数字
 * @param unit    需要添加的单位，date - 加减天数
 * @param fmt     如果传递了格式化的单位，则返回格式化后的日期, 格式化字符串 yyyy - 年, mm - 月, dd - 日, HH - 小时, MM - 分钟, ss - 秒
 *
 * #### 1. 前一天的日期字符串形式
 * ```javascript
 * add(new Date(), -1, 'Date', 'yyyy-mm-dd')
 * ```
 */
export declare function add(date: Date | string | number | null, num: number, unit: string, fmt: string): string;
