// Copyright (c) Microsoft. All rights reserved.
using Microsoft.Extensions.Logging;
namespace Microsoft.Agents.AI.DurableTask.Workflows.EdgeRouters;
///
/// Defines the contract for routing messages through workflow edges in durable orchestrations.
///
///
/// Implementations include for single-target routing
/// and for multi-target fan-out patterns.
///
internal interface IDurableEdgeRouter
{
///
/// Routes a message from the source executor to its target(s).
///
/// The message envelope containing the message and metadata.
/// The message queues to enqueue messages into.
/// The logger for tracing.
void RouteMessage(
DurableMessageEnvelope envelope,
Dictionary> messageQueues,
ILogger logger);
}