// Copyright (c) Arlo Godfrey. All Rights Reserved. // Licensed under the GNU Lesser General Public License, Version 3.0 with additional terms. // See the LICENSE, LICENSE.LESSER and LICENSE.ADDITIONAL files in the project root for more information. using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using StrixMusic.Sdk.BaseModels; namespace StrixMusic.Sdk.CoreModels { /// /// A core's implementation of various search-related activities. /// public interface ICoreSearch : ISearchBase, ICoreMember { /// /// Gets search results for a given query. /// /// The search query. /// A cancellation token that may be used to cancel the ongoing task. /// A task representing the async operation. Returns containing multiple. public Task GetSearchResultsAsync(string query, CancellationToken cancellationToken = default); /// /// Gets the recently searched /// /// A cancellation token that may be used to cancel the ongoing task. /// The recent search queries. public IAsyncEnumerable GetRecentSearchQueries(CancellationToken cancellationToken = default); /// /// Contains items that the user has recently selected from the search results. /// ICoreSearchHistory? SearchHistory { get; } } }