/*
 * Book's Story — free and open-source Material You eBook reader.
 * Copyright (C) 2024-2026 Acclorite
 * SPDX-License-Identifier: GPL-3.0-only
 */

package org.dueattendant149.bookshelf.domain.repository

import kotlinx.coroutines.flow.Flow
import org.dueattendant149.bookshelf.domain.model.cache.CacheStatus
import org.dueattendant149.bookshelf.domain.model.library.Book

interface CacheRepository {
    suspend fun cacheBook(book: Book): Result<Unit>
    suspend fun deleteCache(remoteId: String): Result<Unit>
    fun observeCacheStatus(remoteId: String): Flow<CacheStatus>
}
