// A gradation is a mapping from a time interval (in seconds)
// to the most appropriate time interval measurement unit
// for describing it, along with the amount of such units.
//
// E.g. for "canonical" gradation:
//
// 0 -> 1 'now'
// 0.5 -> 1 'second'
// 60 -> 1 'minute'
// 91 -> 2 'minute's
// ...
//
// Each gradation unit can have:
//
// * unit - (required) The name of the time interval measurement unit.
//
// * factor - (required) The amount of seconds will be divided by this number for this unit.
//
// * granularity - A step for the unit's resulting "amount" value.
//
// * threshold - Min value (in seconds) for this unit. Is required for non-first unit.
//
// * threshold_for_[unit] - A specific threshold required for moving from `[unit]` to this unit.
//                          E.g. if "now" unit is present in time units gradation
//                          then `threshold_for_now` can be set to `45` seconds.
//                          Otherwise, if "now" unit is omitted from time units gradation,
//                          then `elapsed(0)` will output "0 seconds" because there's no `threshold`.
//
// A user can supply his own gradation.
//
// Don't name a gradation "default"
// because that would conflict with the
// CommonJS "interoperability" export layer.
//
export { default as canonical } from './canonical';
export { default as convenient } from './convenient';
export { minute, hour, day, month, year, getStep, getDate } from './helpers';
//# sourceMappingURL=index.js.map