// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.IO;
using System.Threading.Tasks;
namespace Microsoft.AspNet.Mvc.Razor
{
///
/// Specifies the contracts for a that buffers its content.
///
public interface IBufferedTextWriter
{
///
/// Gets a flag that determines if content is currently being buffered.
///
bool IsBuffering { get; }
///
/// Copies the buffered content to the .
///
/// The to copy the contents to.
void CopyTo(TextWriter writer);
///
/// Asynchronously copies the buffered content to the .
///
/// The to copy the contents to.
/// A representing the copy operation.
Task CopyToAsync(TextWriter writer);
}
}