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

part of '../scheduler_command_controller.dart';

/// Builds an application operation context for a UI command operation.
typedef OperationContextFactory =
    ApplicationOperationContext Function(String operationId, {DateTime? now});

/// Refreshes any reads that should reflect a completed command.
typedef ReadRefresh = Future<void> Function();

/// Reads the owner-local date that commands should target at execution time.
typedef SchedulerSelectedDateReader = CivilDate Function();

/// Resolves the owner-local civil date for an absolute command instant.
typedef SchedulerCurrentDateResolver = CivilDate Function(DateTime instant);
