using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Runtime.Serialization
{
/// Indicates a serialization surrogate selector class.
// Token: 0x02000443 RID: 1091
[Token(Token = "0x2000443")]
[ComVisible(true)]
public interface ISurrogateSelector
{
/// Finds the surrogate that represents the specified object's type, starting with the specified surrogate selector for the specified serialization context.
/// The of object (class) that needs a surrogate.
/// The source or destination context for the current serialization.
/// When this method returns, contains a that holds a reference to the surrogate selector where the appropriate surrogate was found. This parameter is passed uninitialized.
/// The appropriate surrogate for the given type in the given context.
/// The caller does not have the required permission.
// Token: 0x06002491 RID: 9361
[Token(Token = "0x6002491")]
[Address(Slot = "0")]
ISerializationSurrogate GetSurrogate(Type type, StreamingContext context, out ISurrogateSelector selector);
}
}