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

part of '../../notification_adapter.dart';

/// Private implementation type for `_NotificationRequest` in this library.
/// It keeps supporting state and behavior scoped to the owning file so the public API stays focused on the scheduler concepts that callers use directly.
final class _NotificationRequest extends NotificationRequest {
  /// Creates a `_NotificationRequest` 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.
  const _NotificationRequest({
    required super.id,
    required super.title,
    required super.body,
    required super.scheduledDateTimeUtc,
    required super.payloadJson,
  }) : super._();
}
