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

/// Implements Locked Time behavior for the Scheduler Core package.
library;

// Locked-time modeling and expansion.
//
// Locked time is anything the flexible scheduler should treat as unavailable:
// work, appointments, streams, sleep boundaries, relationship blocks, or one-off
// interruptions. This file converts human-friendly locked block definitions into
// concrete `TimeInterval`s that the scheduler can avoid.

import 'models.dart';
import 'time_contracts.dart';
part 'locked_time/enums/locked_weekday.dart';
part 'locked_time/aliases/clock_time.dart';
part 'locked_time/recurrence/locked_block_recurrence.dart';
part 'locked_time/blocks/locked_block.dart';
part 'locked_time/blocks/locked_block_occurrence.dart';
part 'locked_time/enums/locked_block_override_type.dart';
part 'locked_time/overrides/locked_block_override.dart';
part 'locked_time/expansion/locked_schedule_expansion.dart';
