using System;
using System.Runtime.InteropServices;
namespace System.Runtime.Remoting.Channels
{
/// Provides functionality for a stack of client channel sinks that must be invoked during an asynchronous message response decoding.
// Token: 0x020003A7 RID: 935
[ComVisible(true)]
public interface IClientChannelSinkStack : IClientResponseChannelSinkStack
{
/// Pops the information associated with all the sinks from the sink stack up to and including the specified sink.
/// Information generated on the request side and associated with the specified sink.
/// The sink to remove and return from the sink stack.
/// The immediate caller does not have infrastructure permission.
// Token: 0x060025B3 RID: 9651
object Pop(IClientChannelSink sink);
/// Pushes the specified sink and information associated with it onto the sink stack.
/// The sink to push onto the sink stack.
/// Information generated on the request side that is needed on the response side.
/// The immediate caller does not have infrastructure permission.
// Token: 0x060025B4 RID: 9652
void Push(IClientChannelSink sink, object state);
}
}