index.js.flow 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800
  1. // @flow
  2. // This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
  3. export type Interval = {
  4. start: Date | number,
  5. end: Date | number,
  6. }
  7. export type Locale = {
  8. code?: string,
  9. formatDistance?: (...args: Array<any>) => any,
  10. formatRelative?: (...args: Array<any>) => any,
  11. localize?: {
  12. ordinalNumber: (...args: Array<any>) => any,
  13. era: (...args: Array<any>) => any,
  14. quarter: (...args: Array<any>) => any,
  15. month: (...args: Array<any>) => any,
  16. day: (...args: Array<any>) => any,
  17. dayPeriod: (...args: Array<any>) => any,
  18. },
  19. formatLong?: {
  20. date: (...args: Array<any>) => any,
  21. time: (...args: Array<any>) => any,
  22. dateTime: (...args: Array<any>) => any,
  23. },
  24. match?: {
  25. ordinalNumber: (...args: Array<any>) => any,
  26. era: (...args: Array<any>) => any,
  27. quarter: (...args: Array<any>) => any,
  28. month: (...args: Array<any>) => any,
  29. day: (...args: Array<any>) => any,
  30. dayPeriod: (...args: Array<any>) => any,
  31. },
  32. options?: {
  33. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  34. firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
  35. },
  36. }
  37. export type Duration = {
  38. years?: number,
  39. months?: number,
  40. weeks?: number,
  41. days?: number,
  42. hours?: number,
  43. minutes?: number,
  44. seconds?: number,
  45. }
  46. export type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6
  47. declare module.exports: {
  48. add: (date: Date | number, duration: Duration) => Date,
  49. addBusinessDays: (date: Date | number, amount: number) => Date,
  50. addDays: (date: Date | number, amount: number) => Date,
  51. addHours: (date: Date | number, amount: number) => Date,
  52. addISOWeekYears: (date: Date | number, amount: number) => Date,
  53. addMilliseconds: (date: Date | number, amount: number) => Date,
  54. addMinutes: (date: Date | number, amount: number) => Date,
  55. addMonths: (date: Date | number, amount: number) => Date,
  56. addQuarters: (date: Date | number, amount: number) => Date,
  57. addSeconds: (date: Date | number, amount: number) => Date,
  58. addWeeks: (date: Date | number, amount: number) => Date,
  59. addYears: (date: Date | number, amount: number) => Date,
  60. areIntervalsOverlapping: (
  61. intervalLeft: Interval,
  62. intervalRight: Interval,
  63. options?: {
  64. inclusive?: boolean,
  65. }
  66. ) => boolean,
  67. closestIndexTo: (
  68. dateToCompare: Date | number,
  69. datesArray: (Date | number)[]
  70. ) => number,
  71. closestTo: (
  72. dateToCompare: Date | number,
  73. datesArray: (Date | number)[]
  74. ) => Date,
  75. compareAsc: (dateLeft: Date | number, dateRight: Date | number) => number,
  76. compareDesc: (dateLeft: Date | number, dateRight: Date | number) => number,
  77. differenceInBusinessDays: (
  78. dateLeft: Date | number,
  79. dateRight: Date | number
  80. ) => number,
  81. differenceInCalendarDays: (
  82. dateLeft: Date | number,
  83. dateRight: Date | number
  84. ) => number,
  85. differenceInCalendarISOWeeks: (
  86. dateLeft: Date | number,
  87. dateRight: Date | number
  88. ) => number,
  89. differenceInCalendarISOWeekYears: (
  90. dateLeft: Date | number,
  91. dateRight: Date | number
  92. ) => number,
  93. differenceInCalendarMonths: (
  94. dateLeft: Date | number,
  95. dateRight: Date | number
  96. ) => number,
  97. differenceInCalendarQuarters: (
  98. dateLeft: Date | number,
  99. dateRight: Date | number
  100. ) => number,
  101. differenceInCalendarWeeks: (
  102. dateLeft: Date | number,
  103. dateRight: Date | number,
  104. options?: {
  105. locale?: Locale,
  106. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  107. }
  108. ) => number,
  109. differenceInCalendarYears: (
  110. dateLeft: Date | number,
  111. dateRight: Date | number
  112. ) => number,
  113. differenceInDays: (
  114. dateLeft: Date | number,
  115. dateRight: Date | number
  116. ) => number,
  117. differenceInHours: (
  118. dateLeft: Date | number,
  119. dateRight: Date | number
  120. ) => number,
  121. differenceInISOWeekYears: (
  122. dateLeft: Date | number,
  123. dateRight: Date | number
  124. ) => number,
  125. differenceInMilliseconds: (
  126. dateLeft: Date | number,
  127. dateRight: Date | number
  128. ) => number,
  129. differenceInMinutes: (
  130. dateLeft: Date | number,
  131. dateRight: Date | number
  132. ) => number,
  133. differenceInMonths: (
  134. dateLeft: Date | number,
  135. dateRight: Date | number
  136. ) => number,
  137. differenceInQuarters: (
  138. dateLeft: Date | number,
  139. dateRight: Date | number
  140. ) => number,
  141. differenceInSeconds: (
  142. dateLeft: Date | number,
  143. dateRight: Date | number
  144. ) => number,
  145. differenceInWeeks: (
  146. dateLeft: Date | number,
  147. dateRight: Date | number
  148. ) => number,
  149. differenceInYears: (
  150. dateLeft: Date | number,
  151. dateRight: Date | number
  152. ) => number,
  153. eachDayOfInterval: (
  154. interval: Interval,
  155. options?: {
  156. step?: number,
  157. }
  158. ) => Date[],
  159. eachHourOfInterval: (
  160. interval: Interval,
  161. options?: {
  162. step?: number,
  163. }
  164. ) => Date[],
  165. eachMinuteOfInterval: (
  166. interval: Interval,
  167. options?: {
  168. step?: number,
  169. }
  170. ) => Date[],
  171. eachMonthOfInterval: (interval: Interval) => Date[],
  172. eachQuarterOfInterval: (interval: Interval) => Date[],
  173. eachWeekendOfInterval: (interval: Interval) => Date[],
  174. eachWeekendOfMonth: (date: Date | number) => Date[],
  175. eachWeekendOfYear: (date: Date | number) => Date[],
  176. eachWeekOfInterval: (
  177. interval: Interval,
  178. options?: {
  179. locale?: Locale,
  180. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  181. }
  182. ) => Date[],
  183. eachYearOfInterval: (interval: Interval) => Date[],
  184. endOfDay: (date: Date | number) => Date,
  185. endOfDecade: (
  186. date: Date | number,
  187. options?: {
  188. additionalDigits?: 0 | 1 | 2,
  189. }
  190. ) => Date,
  191. endOfHour: (date: Date | number) => Date,
  192. endOfISOWeek: (date: Date | number) => Date,
  193. endOfISOWeekYear: (date: Date | number) => Date,
  194. endOfMinute: (date: Date | number) => Date,
  195. endOfMonth: (date: Date | number) => Date,
  196. endOfQuarter: (date: Date | number) => Date,
  197. endOfSecond: (date: Date | number) => Date,
  198. endOfToday: () => Date,
  199. endOfTomorrow: () => Date,
  200. endOfWeek: (
  201. date: Date | number,
  202. options?: {
  203. locale?: Locale,
  204. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  205. }
  206. ) => Date,
  207. endOfYear: (date: Date | number) => Date,
  208. endOfYesterday: () => Date,
  209. format: (
  210. date: Date | number,
  211. format: string,
  212. options?: {
  213. locale?: Locale,
  214. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  215. firstWeekContainsDate?: number,
  216. useAdditionalWeekYearTokens?: boolean,
  217. useAdditionalDayOfYearTokens?: boolean,
  218. }
  219. ) => string,
  220. formatDistance: (
  221. date: Date | number,
  222. baseDate: Date | number,
  223. options?: {
  224. includeSeconds?: boolean,
  225. addSuffix?: boolean,
  226. locale?: Locale,
  227. }
  228. ) => string,
  229. formatDistanceStrict: (
  230. date: Date | number,
  231. baseDate: Date | number,
  232. options?: {
  233. addSuffix?: boolean,
  234. unit?: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year',
  235. roundingMethod?: 'floor' | 'ceil' | 'round',
  236. locale?: Locale,
  237. }
  238. ) => string,
  239. formatDistanceToNow: (
  240. date: Date | number,
  241. options?: {
  242. includeSeconds?: boolean,
  243. addSuffix?: boolean,
  244. locale?: Locale,
  245. }
  246. ) => string,
  247. formatDistanceToNowStrict: (
  248. date: Date | number,
  249. options?: {
  250. addSuffix?: boolean,
  251. unit?: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year',
  252. roundingMethod?: 'floor' | 'ceil' | 'round',
  253. locale?: Locale,
  254. }
  255. ) => string,
  256. formatDuration: (
  257. duration: Duration,
  258. options?: {
  259. format?: string[],
  260. zero?: boolean,
  261. delimiter?: string,
  262. locale?: Locale,
  263. }
  264. ) => string,
  265. formatISO: (
  266. date: Date | number,
  267. options?: {
  268. format?: 'extended' | 'basic',
  269. representation?: 'complete' | 'date' | 'time',
  270. }
  271. ) => string,
  272. formatISO9075: (
  273. date: Date | number,
  274. options?: {
  275. format?: 'extended' | 'basic',
  276. representation?: 'complete' | 'date' | 'time',
  277. }
  278. ) => string,
  279. formatISODuration: (duration: Duration) => string,
  280. formatRelative: (
  281. date: Date | number,
  282. baseDate: Date | number,
  283. options?: {
  284. locale?: Locale,
  285. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  286. }
  287. ) => string,
  288. formatRFC3339: (
  289. date: Date | number,
  290. options?: {
  291. fractionDigits?: 0 | 1 | 2 | 3,
  292. }
  293. ) => string,
  294. formatRFC7231: (date: Date | number) => string,
  295. fromUnixTime: (unixTime: number) => Date,
  296. getDate: (date: Date | number) => number,
  297. getDay: (date: Date | number) => 0 | 1 | 2 | 3 | 4 | 5 | 6,
  298. getDayOfYear: (date: Date | number) => number,
  299. getDaysInMonth: (date: Date | number) => number,
  300. getDaysInYear: (date: Date | number) => number,
  301. getDecade: (date: Date | number) => number,
  302. getHours: (date: Date | number) => number,
  303. getISODay: (date: Date | number) => number,
  304. getISOWeek: (date: Date | number) => number,
  305. getISOWeeksInYear: (date: Date | number) => number,
  306. getISOWeekYear: (date: Date | number) => number,
  307. getMilliseconds: (date: Date | number) => number,
  308. getMinutes: (date: Date | number) => number,
  309. getMonth: (date: Date | number) => number,
  310. getOverlappingDaysInIntervals: (
  311. intervalLeft: Interval,
  312. intervalRight: Interval
  313. ) => number,
  314. getQuarter: (date: Date | number) => number,
  315. getSeconds: (date: Date | number) => number,
  316. getTime: (date: Date | number) => number,
  317. getUnixTime: (date: Date | number) => number,
  318. getWeek: (
  319. date: Date | number,
  320. options?: {
  321. locale?: Locale,
  322. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  323. firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
  324. }
  325. ) => number,
  326. getWeekOfMonth: (
  327. date: Date | number,
  328. options?: {
  329. locale?: Locale,
  330. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  331. }
  332. ) => number,
  333. getWeeksInMonth: (
  334. date: Date | number,
  335. options?: {
  336. locale?: Locale,
  337. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  338. }
  339. ) => number,
  340. getWeekYear: (
  341. date: Date | number,
  342. options?: {
  343. locale?: Locale,
  344. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  345. firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
  346. }
  347. ) => number,
  348. getYear: (date: Date | number) => number,
  349. intervalToDuration: (interval: Interval) => Duration,
  350. intlFormat: (
  351. argument: Date | number,
  352. formatOptions?: {
  353. localeMatcher?: 'lookup' | 'best fit',
  354. weekday?: 'narrow' | 'short' | 'long',
  355. era?: 'narrow' | 'short' | 'long',
  356. year?: 'numeric' | '2-digit',
  357. month?: 'numeric' | '2-digit' | 'narrow' | 'short' | 'long',
  358. day?: 'numeric' | '2-digit',
  359. hour?: 'numeric' | '2-digit',
  360. minute?: 'numeric' | '2-digit',
  361. second?: 'numeric' | '2-digit',
  362. timeZoneName?: 'short' | 'long',
  363. formatMatcher?: 'basic' | 'best fit',
  364. hour12?: boolean,
  365. timeZone?: string,
  366. },
  367. localeOptions?: {
  368. locale?: string | string[],
  369. }
  370. ) => string,
  371. isAfter: (date: Date | number, dateToCompare: Date | number) => boolean,
  372. isBefore: (date: Date | number, dateToCompare: Date | number) => boolean,
  373. isDate: (value: any) => boolean,
  374. isEqual: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  375. isExists: (year: number, month: number, day: number) => boolean,
  376. isFirstDayOfMonth: (date: Date | number) => boolean,
  377. isFriday: (date: Date | number) => boolean,
  378. isFuture: (date: Date | number) => boolean,
  379. isLastDayOfMonth: (date: Date | number) => boolean,
  380. isLeapYear: (date: Date | number) => boolean,
  381. isMatch: (
  382. dateString: string,
  383. formatString: string,
  384. options?: {
  385. locale?: Locale,
  386. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  387. firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
  388. useAdditionalWeekYearTokens?: boolean,
  389. useAdditionalDayOfYearTokens?: boolean,
  390. }
  391. ) => boolean,
  392. isMonday: (date: Date | number) => boolean,
  393. isPast: (date: Date | number) => boolean,
  394. isSameDay: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  395. isSameHour: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  396. isSameISOWeek: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  397. isSameISOWeekYear: (
  398. dateLeft: Date | number,
  399. dateRight: Date | number
  400. ) => boolean,
  401. isSameMinute: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  402. isSameMonth: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  403. isSameQuarter: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  404. isSameSecond: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  405. isSameWeek: (
  406. dateLeft: Date | number,
  407. dateRight: Date | number,
  408. options?: {
  409. locale?: Locale,
  410. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  411. }
  412. ) => boolean,
  413. isSameYear: (dateLeft: Date | number, dateRight: Date | number) => boolean,
  414. isSaturday: (date: Date | number) => boolean,
  415. isSunday: (date: Date | number) => boolean,
  416. isThisHour: (date: Date | number) => boolean,
  417. isThisISOWeek: (date: Date | number) => boolean,
  418. isThisMinute: (date: Date | number) => boolean,
  419. isThisMonth: (date: Date | number) => boolean,
  420. isThisQuarter: (date: Date | number) => boolean,
  421. isThisSecond: (date: Date | number) => boolean,
  422. isThisWeek: (
  423. date: Date | number,
  424. options?: {
  425. locale?: Locale,
  426. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  427. }
  428. ) => boolean,
  429. isThisYear: (date: Date | number) => boolean,
  430. isThursday: (date: Date | number) => boolean,
  431. isToday: (date: Date | number) => boolean,
  432. isTomorrow: (date: Date | number) => boolean,
  433. isTuesday: (date: Date | number) => boolean,
  434. isValid: (date: any) => boolean,
  435. isWednesday: (date: Date | number) => boolean,
  436. isWeekend: (date: Date | number) => boolean,
  437. isWithinInterval: (date: Date | number, interval: Interval) => boolean,
  438. isYesterday: (date: Date | number) => boolean,
  439. lastDayOfDecade: (date: Date | number) => Date,
  440. lastDayOfISOWeek: (date: Date | number) => Date,
  441. lastDayOfISOWeekYear: (date: Date | number) => Date,
  442. lastDayOfMonth: (date: Date | number) => Date,
  443. lastDayOfQuarter: (
  444. date: Date | number,
  445. options?: {
  446. additionalDigits?: 0 | 1 | 2,
  447. }
  448. ) => Date,
  449. lastDayOfWeek: (
  450. date: Date | number,
  451. options?: {
  452. locale?: Locale,
  453. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  454. }
  455. ) => Date,
  456. lastDayOfYear: (date: Date | number) => Date,
  457. lightFormat: (date: Date | number, format: string) => string,
  458. max: (datesArray: (Date | number)[]) => Date,
  459. milliseconds: (duration: Duration) => number,
  460. min: (datesArray: (Date | number)[]) => Date,
  461. nextDay: (date: Date | number, day: Day) => Date,
  462. nextFriday: (date: Date | number) => Date,
  463. nextMonday: (date: Date | number) => Date,
  464. nextSaturday: (date: Date | number) => Date,
  465. nextSunday: (date: Date | number) => Date,
  466. nextThursday: (date: Date | number) => Date,
  467. nextTuesday: (date: Date | number) => Date,
  468. nextWednesday: (date: Date | number) => Date,
  469. parse: (
  470. dateString: string,
  471. formatString: string,
  472. referenceDate: Date | number,
  473. options?: {
  474. locale?: Locale,
  475. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  476. firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
  477. useAdditionalWeekYearTokens?: boolean,
  478. useAdditionalDayOfYearTokens?: boolean,
  479. }
  480. ) => Date,
  481. parseISO: (
  482. argument: string,
  483. options?: {
  484. additionalDigits?: 0 | 1 | 2,
  485. }
  486. ) => Date,
  487. parseJSON: (argument: string | number | Date) => Date,
  488. roundToNearestMinutes: (
  489. date: Date | number,
  490. options?: {
  491. nearestTo?: number,
  492. }
  493. ) => Date,
  494. set: (
  495. date: Date | number,
  496. values: {
  497. year?: number,
  498. month?: number,
  499. date?: number,
  500. hours?: number,
  501. minutes?: number,
  502. seconds?: number,
  503. milliseconds?: number,
  504. }
  505. ) => Date,
  506. setDate: (date: Date | number, dayOfMonth: number) => Date,
  507. setDay: (
  508. date: Date | number,
  509. day: number,
  510. options?: {
  511. locale?: Locale,
  512. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  513. }
  514. ) => Date,
  515. setDayOfYear: (date: Date | number, dayOfYear: number) => Date,
  516. setHours: (date: Date | number, hours: number) => Date,
  517. setISODay: (date: Date | number, day: number) => Date,
  518. setISOWeek: (date: Date | number, isoWeek: number) => Date,
  519. setISOWeekYear: (date: Date | number, isoWeekYear: number) => Date,
  520. setMilliseconds: (date: Date | number, milliseconds: number) => Date,
  521. setMinutes: (date: Date | number, minutes: number) => Date,
  522. setMonth: (date: Date | number, month: number) => Date,
  523. setQuarter: (date: Date | number, quarter: number) => Date,
  524. setSeconds: (date: Date | number, seconds: number) => Date,
  525. setWeek: (
  526. date: Date | number,
  527. week: number,
  528. options?: {
  529. locale?: Locale,
  530. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  531. firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
  532. }
  533. ) => Date,
  534. setWeekYear: (
  535. date: Date | number,
  536. weekYear: number,
  537. options?: {
  538. locale?: Locale,
  539. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  540. firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
  541. }
  542. ) => Date,
  543. setYear: (date: Date | number, year: number) => Date,
  544. startOfDay: (date: Date | number) => Date,
  545. startOfDecade: (date: Date | number) => Date,
  546. startOfHour: (date: Date | number) => Date,
  547. startOfISOWeek: (date: Date | number) => Date,
  548. startOfISOWeekYear: (date: Date | number) => Date,
  549. startOfMinute: (date: Date | number) => Date,
  550. startOfMonth: (date: Date | number) => Date,
  551. startOfQuarter: (date: Date | number) => Date,
  552. startOfSecond: (date: Date | number) => Date,
  553. startOfToday: () => Date,
  554. startOfTomorrow: () => Date,
  555. startOfWeek: (
  556. date: Date | number,
  557. options?: {
  558. locale?: Locale,
  559. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  560. }
  561. ) => Date,
  562. startOfWeekYear: (
  563. date: Date | number,
  564. options?: {
  565. locale?: Locale,
  566. weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
  567. firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7,
  568. }
  569. ) => Date,
  570. startOfYear: (date: Date | number) => Date,
  571. startOfYesterday: () => Date,
  572. sub: (date: Date | number, duration: Duration) => Date,
  573. subBusinessDays: (date: Date | number, amount: number) => Date,
  574. subDays: (date: Date | number, amount: number) => Date,
  575. subHours: (date: Date | number, amount: number) => Date,
  576. subISOWeekYears: (date: Date | number, amount: number) => Date,
  577. subMilliseconds: (date: Date | number, amount: number) => Date,
  578. subMinutes: (date: Date | number, amount: number) => Date,
  579. subMonths: (date: Date | number, amount: number) => Date,
  580. subQuarters: (date: Date | number, amount: number) => Date,
  581. subSeconds: (date: Date | number, amount: number) => Date,
  582. subWeeks: (date: Date | number, amount: number) => Date,
  583. subYears: (date: Date | number, amount: number) => Date,
  584. toDate: (argument: Date | number) => Date,
  585. maxTime: number,
  586. minTime: number,
  587. }