// SPDX-FileCopyrightText: 2026 FocusFlow contributors
// SPDX-License-Identifier: AGPL-3.0-only

part of '../../../time_contracts.dart';

/// Closed set of `LocalTimeResolution` choices used by the pure scheduler domain package.
/// Using named enum values keeps scheduling, persistence, and UI branching explicit instead of passing raw strings through the codebase.
enum LocalTimeResolution {
  /// Selects the `exact` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  exact,

  /// Selects the `shiftedForward` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  shiftedForward,

  /// Selects the `repeatedEarlier` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  repeatedEarlier,

  /// Selects the `repeatedLater` option from this enum.
  /// Code should use this named value when it needs this exact scheduler state, presentation token, or persistence meaning.
  repeatedLater,
}
