import Foundation enum RDEPUBPaginationStateSource: String { case initialPartial case asyncExtension case pendingFullMap case fullReplacement case settingsPreview case cacheRestore case repagination } struct RDEPUBPaginationState { var activePageMap: RDEPUBBookPageMap? var pendingPageMapUpdates: [RDEPUBPendingPageMapUpdate] = [] var chapterWindowSnapshot: RDEPUBChapterWindowSnapshot? var source: RDEPUBPaginationStateSource = .initialPartial }