package mg.dot.feufaro

import feufaro.composeapp.generated.resources.Res
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.io.OutputStream
// Définissez une expect interface. Elle spécifie le contrat de votre repository.
// Utilisez 'expect interface' car l'implémentation (actual) variera selon la plateforme.
interface FileRepository {
    // Lecture de fichier ligne par ligne
    suspend fun readFileLines(filePath: String): List<String>

    // Lecture de fichier entier en tant que String
    suspend fun readFileContent(filePath: String): String
    suspend fun getOutputStream(filePath: String): OutputStream
    //Lire le dernier dossier d'importation
    suspend fun saveFile(filePath: String, data: ByteArray)
    suspend fun saveLocalFile(filePath: String, data: ByteArray)
    fun getFileName(shortName: String) : String
    // suspend fun readFileBytes(filePath: String): ByteArray
    fun pickSavePath(defaultName: String): String?
}

// This is just a regular class that implements the common 'FileRepository' interface.
// It is NOT an 'actual' declaration of 'FileRepository'.
