declare module "strftime" { type strftimeFunction = (format: string, date?: Date) => string; namespace strftime { /** * Sets locale. * @param {Locale} locale A locale. * @return {strftimeFunction} A strftime function. */ export function localize(locale: Locale): strftimeFunction; /** * Sets timezone. * @param {number|string} offset A offset. * @return {strftimeFunction} A strftime function. */ export function timezone(offset: number | string): strftimeFunction; /** * Sets the timezone to UTC. * @return {strftimeFunction} A strftime function. */ export function utc(): strftimeFunction; /** * Locale formats. * @interface */ export interface LocaleFormats { D?: string | undefined; F?: string | undefined; R?: string | undefined; T?: string | undefined; X?: string | undefined; c?: string | undefined; r?: string | undefined; v?: string | undefined; x?: string | undefined; } /** * Locale. * @interface */ export interface Locale { days?: string[] | undefined; shortDays?: string[] | undefined; months?: string[] | undefined; shortMonths?: string[] | undefined; AM?: string | undefined; PM?: string | undefined; am?: string | undefined; pm?: string | undefined; formats: LocaleFormats; } } /** * Format a local time/date according to locale settings * @param {string} format A format. * @return {string} Returns a string formatted. */ function strftime(format: string): string; /** * Format a local time/date according to locale settings * @param {string} format A format. * @param {Date} date A date. * @return {string} Returns a string formatted according format using the given date or the current local time. */ function strftime(format: string, date: Date): string; export = strftime; }