<?xml version="1.0" encoding="utf-8"?>
<doc>
    <assembly>
        <name>System.ClientModel</name>
    </assembly>
    <members>
        <member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
            <summary>
            Indicates that the specified method requires the ability to generate new code at runtime,
            for example through <see cref="N:System.Reflection" />.
            </summary>
            <remarks>
            This allows tools to understand which methods are unsafe to call when compiling ahead of time.
            </remarks>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute" /> class
            with the specified message.
            </summary>
            <param name="message">
            A message that contains information about the usage of dynamic code.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
            <summary>
            Gets a message that contains information about the usage of dynamic code.
            </summary>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
            <summary>
            Gets or sets an optional URL that contains more information about the method,
            why it requires dynamic code, and what options a consumer has to deal with it.
            </summary>
        </member>
        <member name="T:System.ClientModel.Primitives.IJsonModel`1">
            <summary>
            Allows an object to control its own JSON writing and reading.
            </summary>
            <typeparam name="T">The type the model can be converted into.</typeparam>
        </member>
        <member name="M:System.ClientModel.Primitives.IJsonModel`1.Write(System.Text.Json.Utf8JsonWriter,System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Writes the model to the provided <see cref="T:System.Text.Json.Utf8JsonWriter" />.
            </summary>
            <param name="writer">The <see cref="T:System.Text.Json.Utf8JsonWriter" /> to write into.</param>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <exception cref="T:System.FormatException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
        </member>
        <member name="M:System.ClientModel.Primitives.IJsonModel`1.Create(System.Text.Json.Utf8JsonReader@,System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Reads one JSON value (including objects or arrays) from the provided reader and converts it to a model.
            </summary>
            <param name="reader">The <see cref="T:System.Text.Json.Utf8JsonReader" /> to read.</param>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <returns>A <typeparamref name="T" /> representation of the JSON value.</returns>
            <exception cref="T:System.FormatException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
        </member>
        <member name="T:System.ClientModel.Primitives.IPersistableModel`1">
            <summary>
            Allows an object to control its own writing and reading.
            The format is determined by the implementer.
            </summary>
            <typeparam name="T">The type the model can be converted into.</typeparam>
        </member>
        <member name="M:System.ClientModel.Primitives.IPersistableModel`1.Write(System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Writes the model into a <see cref="T:System.BinaryData" />.
            </summary>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <returns>A binary representation of the written model.</returns>
            <exception cref="T:System.FormatException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
        </member>
        <member name="M:System.ClientModel.Primitives.IPersistableModel`1.Create(System.BinaryData,System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Converts the provided <see cref="T:System.BinaryData" /> into a model.
            </summary>
            <param name="data">The <see cref="T:System.BinaryData" /> to parse.</param>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <returns>A <typeparamref name="T" /> representation of the data.</returns>
            <exception cref="T:System.FormatException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
        </member>
        <member name="M:System.ClientModel.Primitives.IPersistableModel`1.GetFormatFromOptions(System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Gets the data interchange format (JSON, Xml, etc) that the model uses when communicating with the service.
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            </summary>
            <returns>The format that the model uses when communicating with the serivce.</returns>
        </member>
        <member name="T:System.ClientModel.Primitives.JsonModelConverter">
            <summary>
            A generic converter which allows <see cref="T:System.Text.Json.JsonSerializer" /> to be able to write and read any models that implement <see cref="T:System.ClientModel.Primitives.IJsonModel`1" />.
            </summary>
        </member>
        <member name="P:System.ClientModel.Primitives.JsonModelConverter.Options">
            <summary>
            Gets the <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> used to read and write models.
            </summary>
        </member>
        <member name="M:System.ClientModel.Primitives.JsonModelConverter.#ctor">
            <summary>
            Initializes a new instance of <see cref="T:System.ClientModel.Primitives.JsonModelConverter" /> with a default options of <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Json" />.
            </summary>
        </member>
        <member name="M:System.ClientModel.Primitives.JsonModelConverter.#ctor(System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Initializes a new instance of <see cref="T:System.ClientModel.Primitives.JsonModelConverter" />.
            </summary>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
        </member>
        <member name="M:System.ClientModel.Primitives.JsonModelConverter.CanConvert(System.Type)">
            <summary>Determines whether the specified type can be converted.</summary><param name="typeToConvert">The type to compare against.</param><returns><see langword="true" /> if the type can be converted; otherwise, <see langword="false" />.</returns>
        </member>
        <member name="M:System.ClientModel.Primitives.JsonModelConverter.Read(System.Text.Json.Utf8JsonReader@,System.Type,System.Text.Json.JsonSerializerOptions)">
            <summary>Reads and converts the JSON to type <typeparamref name="T" />.</summary><param name="reader">The reader.</param><param name="typeToConvert">The type to convert.</param><param name="options">An object that specifies serialization options to use.</param><returns>The converted value.</returns>
        </member>
        <member name="M:System.ClientModel.Primitives.JsonModelConverter.Write(System.Text.Json.Utf8JsonWriter,System.ClientModel.Primitives.IJsonModel{System.Object},System.Text.Json.JsonSerializerOptions)">
            <summary>Writes a specified value as JSON.</summary><param name="writer">The writer to write to.</param><param name="value">The value to convert to JSON.</param><param name="options">An object that specifies serialization options to use.</param>
        </member>
        <member name="T:System.ClientModel.Primitives.ModelReaderWriter">
            <summary>
            Provides functionality to read and write <see cref="T:System.ClientModel.Primitives.IPersistableModel`1" /> and <see cref="T:System.ClientModel.Primitives.IJsonModel`1" />.
            </summary>
        </member>
        <member name="M:System.ClientModel.Primitives.ModelReaderWriter.Write``1(``0,System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Converts the value of a model into a <see cref="T:System.BinaryData" />.
            </summary>
            <typeparam name="T">The type of the value to write.</typeparam>
            <param name="model">The model to convert.</param>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <returns>A <see cref="T:System.BinaryData" /> representation of the model in the <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" /> specified by the <paramref name="options" />.</returns>
            <exception cref="T:System.FormatException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="model" /> is null.</exception>
        </member>
        <member name="M:System.ClientModel.Primitives.ModelReaderWriter.Write(System.Object,System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Converts the value of a model into a <see cref="T:System.BinaryData" />.
            </summary>
            <param name="model">The model to convert.</param>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <returns>A <see cref="T:System.BinaryData" /> representation of the model in the <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" /> specified by the <paramref name="options" />.</returns>
            <exception cref="T:System.InvalidOperationException">Throws if <paramref name="model" /> does not implement <see cref="T:System.ClientModel.Primitives.IPersistableModel`1" />.</exception>
            <exception cref="T:System.FormatException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="model" /> is null.</exception>
        </member>
        <member name="M:System.ClientModel.Primitives.ModelReaderWriter.Read``1(System.BinaryData,System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Converts the <see cref="T:System.BinaryData" /> into a <typeparamref name="T" />.
            </summary>
            <param name="data">The <see cref="T:System.BinaryData" /> to convert.</param>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <returns>A <typeparamref name="T" /> representation of the <see cref="T:System.BinaryData" />.</returns>
            <exception cref="T:System.InvalidOperationException">Throws if <typeparamref name="T" /> does not have a public or internal parameterless constructor.</exception>
            <exception cref="T:System.FormatException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="data" /> is null.</exception>
            <exception cref="T:System.MissingMethodException">If <typeparamref name="T" /> does not have a public or non public empty constructor.</exception>
        </member>
        <member name="M:System.ClientModel.Primitives.ModelReaderWriter.Read(System.BinaryData,System.Type,System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Converts the <see cref="T:System.BinaryData" /> into a <paramref name="returnType" />.
            </summary>
            <param name="data">The <see cref="T:System.BinaryData" /> to convert.</param>
            <param name="returnType">The type of the objec to convert and return.</param>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <returns>A <paramref name="returnType" /> representation of the <see cref="T:System.BinaryData" />.</returns>
            <exception cref="T:System.InvalidOperationException">Throws if <paramref name="returnType" /> does not implement <see cref="T:System.ClientModel.Primitives.IPersistableModel`1" />.</exception>
            <exception cref="T:System.InvalidOperationException">Throws if <paramref name="returnType" /> does not have a public or internal parameterless constructor.</exception>
            <exception cref="T:System.FormatException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="data" /> or <paramref name="returnType" /> are null.</exception>
            <exception cref="T:System.MissingMethodException">If <paramref name="returnType" /> does not have a public or non public empty constructor.</exception>
        </member>
        <member name="T:System.ClientModel.Primitives.ModelReaderWriterOptions">
            <summary>
            Provides the client options for reading and writing models.
            </summary>
        </member>
        <member name="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Json">
            <summary>
            Default options for writing models into JSON format.
            </summary>
        </member>
        <member name="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Xml">
            <summary>
            Default options for writing models into XML format.
            </summary>
        </member>
        <member name="M:System.ClientModel.Primitives.ModelReaderWriterOptions.#ctor(System.String)">
            <summary>
            Initializes a new instance of <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" />.
            </summary>
            <param name="format">The format to read and write models.</param>
        </member>
        <member name="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format">
            <summary>
            Gets the format to read and write the model.
            </summary>
        </member>
        <member name="T:System.ClientModel.Primitives.PersistableModelProxyAttribute">
            <summary>
            Attribute that indicates a proxy <see cref="T:System.Type" /> to use for reading a model.
            The proxy <see cref="T:System.Type" /> must implement <see cref="T:System.ClientModel.Primitives.IPersistableModel`1" /> and have a public or non-public parameterless constructor.
            </summary>
        </member>
        <member name="M:System.ClientModel.Primitives.PersistableModelProxyAttribute.#ctor(System.Type)">
            <summary>
            Instantiates a new instance of the <see cref="T:System.ClientModel.Primitives.PersistableModelProxyAttribute" /> class.
            </summary>
            <param name="proxyType">
            The <see cref="T:System.Type" /> to create and call read on.
            The <see cref="T:System.Type" /> must have a public or non-public parameterless constructor.
            The <see cref="T:System.Type" /> must implement <see cref="T:System.ClientModel.Primitives.IPersistableModel`1" /> where T is the type of the abstract class.
            </param>
        </member>
        <member name="P:System.ClientModel.Primitives.PersistableModelProxyAttribute.ProxyType">
            <summary>
            Gets the <see cref="T:System.Type" /> to create and call read on.
            The <see cref="T:System.Type" /> must have a public or non-public parameterless constructor.
            The <see cref="T:System.Type" /> must implement <see cref="T:System.ClientModel.Primitives.IPersistableModel`1" /> where T is the type of the abstract class.
            </summary>
        </member>
        <member name="T:System.ClientModel.Internal.ModelWriter`1">
            <summary>
            Provides an efficient way to write <see cref="T:System.ClientModel.Primitives.IJsonModel`1" /> into a <see cref="T:System.BinaryData" /> using multiple pooled buffers.
            </summary>
        </member>
        <member name="M:System.ClientModel.Internal.ModelWriter`1.#ctor(System.ClientModel.Primitives.IJsonModel{`0},System.ClientModel.Primitives.ModelReaderWriterOptions)">
            <summary>
            Initializes a new instance of <see cref="T:System.ClientModel.Internal.ModelWriter`1" />.
            </summary>
            <param name="model">The model to write.</param>
            <param name="options">The <see cref="T:System.ClientModel.Primitives.ModelReaderWriterOptions" /> to use.</param>
            <exception cref="T:System.NotSupportedException">If the model does not support the requested <see cref="P:System.ClientModel.Primitives.ModelReaderWriterOptions.Format" />.</exception>
        </member>
        <member name="M:System.ClientModel.Internal.ModelWriter`1.ToBinaryData">
            <summary>
            Converts the <see cref="T:System.ClientModel.Internal.ModelWriter`1" /> to a <see cref="T:System.BinaryData" />.
            </summary>
            <returns>A <see cref="T:System.BinaryData" /> representation of the written <see cref="T:System.ClientModel.Primitives.IJsonModel`1" /> in JSON format.</returns>
        </member>
        <member name="M:System.ClientModel.Internal.ModelWriter`1.Dispose">
            <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
        </member>
    </members>
</doc>
