package com.horrortv.app.domain.repository

import com.horrortv.app.domain.model.Movie
import com.horrortv.app.domain.model.MovieCategory

sealed class Result<out T> {
    data class Success<T>(val data: T) : Result<T>()
    data class Error(val error: com.horrortv.app.domain.model.AppError) : Result<Nothing>()
}

interface MovieRepository {
    suspend fun getFeaturedCategories(): List<MovieCategory>
    suspend fun searchMovies(query: String): Result<List<Movie>>
    suspend fun getMovieById(imdbId: String): Result<Movie?>
}