// Copyright Epic Games, Inc. All Rights Reserved.
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace EpicGames.Horde.Tools
{
///
/// Collection of tools
///
public interface IToolCollection
{
///
/// Gets a tool with the given identifier
///
/// The tool identifier
/// Cancellation token for the operation
/// The requested tool, or null if it does not exist
Task GetAsync(ToolId id, CancellationToken cancellationToken = default);
///
/// Gets all the available tools
///
///
/// List of the available tools
Task> GetAllAsync(CancellationToken cancellationToken = default);
}
}