using System;
using System.IO;
using System.Runtime.InteropServices;
namespace System.Runtime.Serialization
{
/// Provides functionality for formatting serialized objects.
// Token: 0x0200047C RID: 1148
[ComVisible(true)]
public interface IFormatter
{
/// Gets or sets the that performs type lookups during deserialization.
/// The that performs type lookups during deserialization.
// Token: 0x17000897 RID: 2199
// (get) Token: 0x06002BE2 RID: 11234
// (set) Token: 0x06002BE3 RID: 11235
SerializationBinder Binder { get; set; }
/// Gets or sets the used for serialization and deserialization.
/// The used for serialization and deserialization.
// Token: 0x17000898 RID: 2200
// (get) Token: 0x06002BE4 RID: 11236
// (set) Token: 0x06002BE5 RID: 11237
StreamingContext Context { get; set; }
/// Gets or sets the used by the current formatter.
/// The used by this formatter.
// Token: 0x17000899 RID: 2201
// (get) Token: 0x06002BE6 RID: 11238
// (set) Token: 0x06002BE7 RID: 11239
ISurrogateSelector SurrogateSelector { get; set; }
/// Deserializes the data on the provided stream and reconstitutes the graph of objects.
/// The top object of the deserialized graph.
/// The stream that contains the data to deserialize.
// Token: 0x06002BE8 RID: 11240
object Deserialize(Stream serializationStream);
/// Serializes an object, or graph of objects with the given root to the provided stream.
/// The stream where the formatter puts the serialized data. This stream can reference a variety of backing stores (such as files, network, memory, and so on).
/// The object, or root of the object graph, to serialize. All child objects of this root object are automatically serialized.
// Token: 0x06002BE9 RID: 11241
void Serialize(Stream serializationStream, object graph);
}
}