package com.optix.android.domain.repository

import com.optix.android.domain.model.ToolCategory
import com.optix.android.domain.model.ToolEvent
import com.optix.android.domain.model.ToolMetadata
import kotlinx.coroutines.flow.Flow

interface ToolRepository {
    fun getAllTools(): List<ToolMetadata>
    fun getToolsByCategory(category: ToolCategory): List<ToolMetadata>
    fun getToolMetadata(name: String): ToolMetadata?
    fun runTool(name: String, params: Map<String, Any>): Flow<ToolEvent>
    fun cancelTool(name: String)
}
