import 'dart:typed_data'; import 'signature_placement.dart'; /// PDF document to be signed class Document { final bool loaded; final int pageCount; final Uint8List? pickedPdfBytes; // Multiple signature placements per page, each combines geometry and asset. final Map> placementsByPage; const Document({ required this.loaded, required this.pageCount, this.pickedPdfBytes, this.placementsByPage = const {}, }); factory Document.initial() => const Document( loaded: false, pageCount: 0, pickedPdfBytes: null, placementsByPage: {}, ); Document copyWith({ bool? loaded, int? pageCount, Uint8List? pickedPdfBytes, Map>? placementsByPage, }) => Document( loaded: loaded ?? this.loaded, pageCount: pageCount ?? this.pageCount, pickedPdfBytes: pickedPdfBytes ?? this.pickedPdfBytes, placementsByPage: placementsByPage ?? this.placementsByPage, ); }