import { TLanguage } from '@cainiaofe/cn-i18n';
import { FormatAutoOpts, Timestamp, Timezone, AvailableDate, DateFormatConf, StdFormat, TimezoneOffset, DayjsTz } from './type';
export * from './type';
/**
 * 根据语种信息获取日期格式化配置
 * @param {TLanguage | boolean=} lang 语种
 * @returns {DateFormatConf | null} 格式化对象
 */
export declare function getDateFormatConf(lang?: TLanguage | boolean): DateFormatConf;
/**
 * 将国际标准格式兑换成本地格式
 * @param {StdFormat} stdFormat 标准格式
 * @param {TLanguage | boolean=} lang 语种
 * @returns {string | null}
 */
export declare function getDateFormatByStd(stdFormat: StdFormat, lang?: TLanguage | boolean): string;
/**
 * 获取系统时区信息
 * @returns {Timezone | null}
 */
export declare function getTimezone(): Timezone;
/**
 * 根据当前语种&时区格式化时间戳
 * @param num Timestamp
 * @param timezone Timezone
 * @param format string | FormatAutoOpts
 * @returns
 */
export declare function dateFormat(num: Timestamp, timezone?: Timezone, format?: string | FormatAutoOpts): string | null;
/**
 * 根据当前语种&时区获取时间戳
 * @param dateStr string
 * @param timezone FormatOpts
 * @param format string | FormatAutoOpts,
 * @returns
 */
export declare function dateTimestamp(dateStr?: string, timezone?: Timezone, format?: string | FormatAutoOpts): Timestamp | null;
/**
 * 根据时间戳获取当前日期偏移量
 * @param num
 * @param timezone
 * @returns
 */
export declare function getTimezoneOffset(num?: Timestamp, timezone?: Timezone): TimezoneOffset;
/**
 * 根据时间戳&时区&语种获取时区名称
 * @param num
 * @param timezone
 * @param lang
 * @returns
 */
export declare function getTimezoneName(num?: Timestamp, timezone?: Timezone, lang?: TLanguage | boolean): string | null;
/**
 * 实例化时区 dayjs 对象
 * @param day
 * @param timezone
 * @param keepLocalTime
 * @returns 新的 dayjs 对象
 */
export declare function dayjsTz(day: AvailableDate, timezone?: Timezone, keepLocalTime?: boolean): DayjsTz | null;
