namespace ModelContextProtocol.Server;
///
/// Provides storage and retrieval of SSE event streams, enabling resumability and redelivery of events.
///
[Obsolete(Obsoletions.LegacyStatefulHttp_Message, DiagnosticId = Obsoletions.LegacyStatefulHttp_DiagnosticId, UrlFormat = Obsoletions.LegacyStatefulHttp_Url)]
public interface ISseEventStreamStore
{
///
/// Creates a new SSE event stream with the specified options.
///
/// The configuration options for the new stream.
/// A token to cancel the operation.
/// A writer for the newly created event stream.
ValueTask CreateStreamAsync(SseEventStreamOptions options, CancellationToken cancellationToken = default);
///
/// Gets a reader for an existing event stream based on the last event ID.
///
/// The ID of the last event received by the client, used to resume from that point.
/// A token to cancel the operation.
/// A reader for the event stream, or null if no matching stream is found.
ValueTask GetStreamReaderAsync(string lastEventId, CancellationToken cancellationToken = default);
}