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

part of '../../application_management.dart';

/// Project defaults query result.
class ProjectDefaultsQueryResult {
  /// Creates a `ProjectDefaultsQueryResult` instance with the values required by its invariants.
  /// Callers should pass already-normalized scheduler data because validation and defaulting belong at the model or service boundary, not in arbitrary UI code.
  ProjectDefaultsQueryResult({
    required this.ownerId,
    required List<ProjectDefaultResolution> projects,
  }) : projects = List<ProjectDefaultResolution>.unmodifiable(projects);

  /// Authorization-neutral owner scope.
  final String ownerId;

  /// Configured defaults plus separately surfaced learned suggestions.
  final List<ProjectDefaultResolution> projects;
}
