using Tiku.Application.Catalog;

namespace Tiku.Application.Assets;

public interface IAssetQueryService
{
    Task<CatalogList<ContentAssetCatalogItem>> GetContentAssetsAsync(
        AssetFilter filter,
        CancellationToken cancellationToken = default);

    Task<CatalogList<ImageAssetCatalogItem>> GetImagesAsync(
        AssetFilter filter,
        CancellationToken cancellationToken = default);

    Task<CatalogList<AppAssetCatalogItem>> GetAppAssetsAsync(
        AssetFilter filter,
        CancellationToken cancellationToken = default);

    Task<CatalogList<VideoExplanationCatalogItem>> GetVideoExplanationsAsync(
        AssetFilter filter,
        CancellationToken cancellationToken = default);

    Task<CatalogList<QuestionVideoCatalogItem>> GetQuestionVideosAsync(
        AssetFilter filter,
        CancellationToken cancellationToken = default);
}