using Orleans;
namespace Managing.Application.Abstractions.Grains;
///
/// Orleans grain interface for price fetching operations.
/// This stateless worker grain handles fetching price data from external APIs
/// and publishing to Orleans streams for a specific timeframe.
///
public interface IPriceFetcherGrain : IGrainWithStringKey
{
///
/// Fetches price data for all supported exchange/ticker combinations
/// and publishes new candles to their respective streams.
///
/// True if the operation completed successfully, false otherwise
Task FetchAndPublishPricesAsync();
}