// Extended type definitions for Sugar v2.0.6 // Project: https://sugarjs.com/ // Definitions by: Andrew Plummer /// interface DateConstructor { addLocale(localeCode: string, def: Object): sugarjs.Locale; create(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; getAllLocaleCodes(): string[]; getAllLocales(): Array; getLocale(localeCode?: string): sugarjs.Locale; removeLocale(localeCode: string): sugarjs.Locale; setLocale(localeCode: string): sugarjs.Locale; } interface Date { addDays(n: number, reset?: boolean): Date; addHours(n: number, reset?: boolean): Date; addMilliseconds(n: number, reset?: boolean): Date; addMinutes(n: number, reset?: boolean): Date; addMonths(n: number, reset?: boolean): Date; addSeconds(n: number, reset?: boolean): Date; addWeeks(n: number, reset?: boolean): Date; addYears(n: number, reset?: boolean): Date; advance(set: string|Object, reset?: boolean): Date; advance(milliseconds: number): Date; advance(year: number, month: number, day?: number, hour?: number, minute?: number, second?: number, millliseconds?: undefined): Date; beginningOfDay(localeCode?: string): Date; beginningOfISOWeek(): Date; beginningOfMonth(localeCode?: string): Date; beginningOfWeek(localeCode?: string): Date; beginningOfYear(localeCode?: string): Date; clone(): Date; daysAgo(): number; daysFromNow(): number; daysInMonth(): number; daysSince(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; daysUntil(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; endOfDay(localeCode?: string): Date; endOfISOWeek(): Date; endOfMonth(localeCode?: string): Date; endOfWeek(localeCode?: string): Date; endOfYear(localeCode?: string): Date; format(f?: string, localeCode?: string): string; full(localeCode?: string): string; get(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; getISOWeek(): number; getUTCOffset(iso?: boolean): string; getUTCWeekday(): number; getWeekday(): number; hoursAgo(): number; hoursFromNow(): number; hoursSince(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; hoursUntil(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; is(d: string|number|Date, margin?: number): boolean; isAfter(d: string|number|Date, margin?: number): boolean; isBefore(d: string|number|Date, margin?: number): boolean; isBetween(d1: string|number|Date, d2: string|number|Date, margin?: number): boolean; isFriday(): boolean; isFuture(): boolean; isLastMonth(localeCode?: string): boolean; isLastWeek(localeCode?: string): boolean; isLastYear(localeCode?: string): boolean; isLeapYear(): boolean; isMonday(): boolean; isNextMonth(localeCode?: string): boolean; isNextWeek(localeCode?: string): boolean; isNextYear(localeCode?: string): boolean; isPast(): boolean; isSaturday(): boolean; isSunday(): boolean; isThisMonth(localeCode?: string): boolean; isThisWeek(localeCode?: string): boolean; isThisYear(localeCode?: string): boolean; isThursday(): boolean; isToday(): boolean; isTomorrow(): boolean; isTuesday(): boolean; isUTC(): boolean; isValid(): boolean; isWednesday(): boolean; isWeekday(): boolean; isWeekend(): boolean; isYesterday(): boolean; iso(): string; long(localeCode?: string): string; medium(localeCode?: string): string; millisecondsAgo(): number; millisecondsFromNow(): number; millisecondsSince(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; millisecondsUntil(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; minutesAgo(): number; minutesFromNow(): number; minutesSince(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; minutesUntil(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; monthsAgo(): number; monthsFromNow(): number; monthsSince(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; monthsUntil(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; relative(localeCode?: string, relativeFn?: (num: number, unit: number, ms: number, loc: sugarjs.Locale) => string): string; relative(relativeFn?: (num: number, unit: number, ms: number, loc: sugarjs.Locale) => string): string; relativeTo(d: string|number|Date, localeCode?: string): string; reset(unit?: string, localeCode?: string): Date; rewind(set: string|Object, reset?: boolean): Date; rewind(milliseconds: number): Date; rewind(year: number, month: number, day?: number, hour?: number, minute?: number, second?: number, millliseconds?: undefined): Date; secondsAgo(): number; secondsFromNow(): number; secondsSince(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; secondsUntil(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; set(set: Object, reset?: boolean): Date; set(milliseconds: number): Date; set(year: number, month: number, day?: number, hour?: number, minute?: number, second?: number, millliseconds?: undefined): Date; setISOWeek(num: number): void; setUTC(on?: boolean): Date; setWeekday(dow: number): void; short(localeCode?: string): string; weeksAgo(): number; weeksFromNow(): number; weeksSince(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; weeksUntil(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; yearsAgo(): number; yearsFromNow(): number; yearsSince(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; yearsUntil(d?: string|number|Date, options?: sugarjs.Date.DateCreateOptions): number; } interface Number { day(): number; dayAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; dayAgo(): Date; dayBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; dayFromNow(): Date; days(): number; daysAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; daysAgo(): Date; daysBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; daysFromNow(): Date; duration(localeCode?: string): string; hour(): number; hourAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; hourAgo(): Date; hourBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; hourFromNow(): Date; hours(): number; hoursAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; hoursAgo(): Date; hoursBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; hoursFromNow(): Date; millisecond(): number; millisecondAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; millisecondAgo(): Date; millisecondBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; millisecondFromNow(): Date; milliseconds(): number; millisecondsAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; millisecondsAgo(): Date; millisecondsBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; millisecondsFromNow(): Date; minute(): number; minuteAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; minuteAgo(): Date; minuteBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; minuteFromNow(): Date; minutes(): number; minutesAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; minutesAgo(): Date; minutesBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; minutesFromNow(): Date; month(): number; monthAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; monthAgo(): Date; monthBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; monthFromNow(): Date; months(): number; monthsAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; monthsAgo(): Date; monthsBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; monthsFromNow(): Date; second(): number; secondAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; secondAgo(): Date; secondBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; secondFromNow(): Date; seconds(): number; secondsAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; secondsAgo(): Date; secondsBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; secondsFromNow(): Date; week(): number; weekAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; weekAgo(): Date; weekBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; weekFromNow(): Date; weeks(): number; weeksAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; weeksAgo(): Date; weeksBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; weeksFromNow(): Date; year(): number; yearAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; yearAgo(): Date; yearBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; yearFromNow(): Date; years(): number; yearsAfter(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; yearsAgo(): Date; yearsBefore(d: string|number|Date, options?: sugarjs.Date.DateCreateOptions): Date; yearsFromNow(): Date; }