import 'dart:typed_data';

import 'package:hl_lieferservice/model/delivery.dart';

abstract class NoteState {}

class NoteInitial extends NoteState {}

class NoteLoading extends NoteState {}

class NoteLoadingFailed extends NoteState {}

class NoteLoaded extends NoteState {
  NoteLoaded({
    required this.notes,
    required this.templates,
    required this.images,
  });

  List<Note> notes;
  List<NoteTemplate> templates;
  List<(ImageNote, Uint8List)> images;

  NoteLoaded copyWith({
    List<Note>? notes,
    List<NoteTemplate>? templates,
    List<(ImageNote, Uint8List)>? images,
  }) {
    return NoteLoaded(
      notes: notes ?? this.notes,
      templates: templates ?? this.templates,
      images: images ?? this.images,
    );
  }
}
