using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Runtime.Remoting.Messaging
{
/// Defines the interface for a message sink.
// Token: 0x02000513 RID: 1299
[Token(Token = "0x2000513")]
[ComVisible(true)]
public interface IMessageSink
{
/// Synchronously processes the given message.
/// The message to process.
/// A reply message in response to the request.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
// Token: 0x06002941 RID: 10561
[Token(Token = "0x6002941")]
[Address(Slot = "0")]
IMessage SyncProcessMessage(IMessage msg);
/// Asynchronously processes the given message.
/// The message to process.
/// The reply sink for the reply message.
/// An interface that provides a way to control asynchronous messages after they have been dispatched.
/// The immediate caller makes the call through a reference to the interface and does not have infrastructure permission.
// Token: 0x06002942 RID: 10562
[Token(Token = "0x6002942")]
[Address(Slot = "1")]
IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink);
}
}