import 'package:equatable/equatable.dart';
import '../../models/annotation.dart';

abstract class PdfAnnotationEvent extends Equatable {
  const PdfAnnotationEvent();

  @override
  List<Object> get props => [];
}

class AnnotationToolSelected extends PdfAnnotationEvent {
  final String tool; // e.g. 'text', 'highlight', 'signature'

  const AnnotationToolSelected({required this.tool});

  @override
  List<Object> get props => [tool];
}

class AnnotationAdded extends PdfAnnotationEvent {
  final Annotation annotation;

  const AnnotationAdded({required this.annotation});

  @override
  List<Object> get props => [annotation];
}

class AnnotationRemoved extends PdfAnnotationEvent {
  final String id;

  const AnnotationRemoved({required this.id});

  @override
  List<Object> get props => [id];
}

class AnnotationUndo extends PdfAnnotationEvent {}

class AnnotationRedo extends PdfAnnotationEvent {}

class AnnotationsSaved extends PdfAnnotationEvent {}
