/**
 * The `DateAgoIntl` class provides labels for the `DateAgoDirective`.
 *
 * @public
 */
export class DateAgoIntl {
    // #region Fields
    _todayLabel;
    _yesterdayLabel;
    _daysAgoLabel;
    _lastWeekLabel;
    _weeksAgoLabel;
    _lastMonthLabel;
    _monthsAgoLabel;
    _lastYearLabel;
    _yearsAgoLabel;
    // #endregion
    // #region Ctor
    /**
     * Constructs a new instance of the `DateAgoIntl` class.
     *
     * @public
     */
    constructor() {
        this._todayLabel = 'today';
        this._yesterdayLabel = 'yesterday';
        this._daysAgoLabel = '{0} days ago';
        this._lastWeekLabel = 'last week';
        this._weeksAgoLabel = '{0} weeks ago';
        this._lastMonthLabel = 'last month';
        this._monthsAgoLabel = '{0} months ago';
        this._lastYearLabel = 'last year';
        this._yearsAgoLabel = '{0} years ago';
    }
    // #endregion
    // #region Properties
    get todayLabel() {
        return this._todayLabel;
    }
    set todayLabel(value) {
        this._todayLabel = value;
    }
    get yesterdayLabel() {
        return this._yesterdayLabel;
    }
    set yesterdayLabel(value) {
        this._yesterdayLabel = value;
    }
    get daysAgoLabel() {
        return this._daysAgoLabel;
    }
    set daysAgoLabel(value) {
        this._daysAgoLabel = value;
    }
    get lastWeekLabel() {
        return this._lastWeekLabel;
    }
    set lastWeekLabel(value) {
        this._lastWeekLabel = value;
    }
    get weeksAgoLabel() {
        return this._weeksAgoLabel;
    }
    set weeksAgoLabel(value) {
        this._weeksAgoLabel = value;
    }
    get lastMonthLabel() {
        return this._lastMonthLabel;
    }
    set lastMonthLabel(value) {
        this._lastMonthLabel = value;
    }
    get monthsAgoLabel() {
        return this._monthsAgoLabel;
    }
    set monthsAgoLabel(value) {
        this._monthsAgoLabel = value;
    }
    get lastYearLabel() {
        return this._lastYearLabel;
    }
    set lastYearLabel(value) {
        this._lastYearLabel = value;
    }
    get yearsAgoLabel() {
        return this._yearsAgoLabel;
    }
    set yearsAgoLabel(value) {
        this._yearsAgoLabel = value;
    }
    // #endregion
    // #region Methods
    formatDaysAgoLabel(days) {
        return this._daysAgoLabel.replace('{0}', String(days));
    }
    formatWeeksAgoLabel(weeks) {
        return this._weeksAgoLabel.replace('{0}', String(weeks));
    }
    formatMonthsAgoLabel(months) {
        return this._monthsAgoLabel.replace('{0}', String(months));
    }
    formatYearsAgoLabel(years) {
        return this._yearsAgoLabel.replace('{0}', String(years));
    }
}
//# sourceMappingURL=DateAgoIntl.js.map