<?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.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute">
            <summary>
            Indicates that the specified method requires dynamic access to code that is not referenced
            statically, for example through <see cref="N:System.Reflection" />.
            </summary>
            <remarks>
            This allows tools to understand which methods are unsafe to call when removing unreferenced
            code from an application.
            </remarks>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute" /> class
            with the specified message.
            </summary>
            <param name="message">
            A message that contains information about the usage of unreferenced code.
            </param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Message">
            <summary>
            Gets a message that contains information about the usage of unreferenced code.
            </summary>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Url">
            <summary>
            Gets or sets an optional URL that contains more information about the method,
            why it requires unreferenced code, and what options a consumer has to deal with it.
            </summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
            <summary>
            Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
            single code artifact.
            </summary>
            <remarks>
            <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute" /> is different than
            <see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute" /> in that it doesn't have a
            <see cref="T:System.Diagnostics.ConditionalAttribute" />. So it is always preserved in the compiled assembly.
            </remarks>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute" />
            class, specifying the category of the tool and the identifier for an analysis rule.
            </summary>
            <param name="category">The category for the attribute.</param>
            <param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
            <summary>
            Gets the category identifying the classification of the attribute.
            </summary>
            <remarks>
            The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category" /> property describes the tool or tool analysis category
            for which a message suppression attribute applies.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
            <summary>
            Gets the identifier of the analysis tool rule to be suppressed.
            </summary>
            <remarks>
            Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category" /> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId" />
            properties form a unique check identifier.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
            <summary>
            Gets or sets the scope of the code that is relevant for the attribute.
            </summary>
            <remarks>
            The Scope property is an optional argument that specifies the metadata scope for which
            the attribute is relevant.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
            <summary>
            Gets or sets a fully qualified path that represents the target of the attribute.
            </summary>
            <remarks>
            The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target" /> property is an optional argument identifying the analysis target
            of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
            Because it is fully qualified, it can be long, particularly for targets such as parameters.
            The analysis tool user interface should be capable of automatically formatting the parameter.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
            <summary>
            Gets or sets an optional argument expanding on exclusion criteria.
            </summary>
            <remarks>
            The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId" /> property is an optional argument that specifies additional
            exclusion where the literal metadata target is not sufficiently precise. For example,
            the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute" /> cannot be applied within a method,
            and it may be desirable to suppress a violation against a statement in the method that will
            give a rule violation, but not against all statements in the method.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
            <summary>
            Gets or sets the justification for suppressing the code analysis message.
            </summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute">
            <summary>
            States a dependency that one member has on another.
            </summary>
            <remarks>
            This can be used to inform tooling of a dependency that is otherwise not evident purely from
            metadata and IL, for example a member relied on via reflection.
            </remarks>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute" /> class
            with the specified signature of a member on the same type as the consumer.
            </summary>
            <param name="memberSignature">The signature of the member depended on.</param>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute" /> class
            with the specified signature of a member on a <see cref="T:System.Type" />.
            </summary>
            <param name="memberSignature">The signature of the member depended on.</param>
            <param name="type">The <see cref="T:System.Type" /> containing <paramref name="memberSignature" />.</param>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute" /> class
            with the specified signature of a member on a type in an assembly.
            </summary>
            <param name="memberSignature">The signature of the member depended on.</param>
            <param name="typeName">The full name of the type containing the specified member.</param>
            <param name="assemblyName">The assembly name of the type containing the specified member.</param>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute" /> class
            with the specified types of members on a <see cref="T:System.Type" />.
            </summary>
            <param name="memberTypes">The types of members depended on.</param>
            <param name="type">The <see cref="T:System.Type" /> containing the specified members.</param>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute" /> class
            with the specified types of members on a type in an assembly.
            </summary>
            <param name="memberTypes">The types of members depended on.</param>
            <param name="typeName">The full name of the type containing the specified members.</param>
            <param name="assemblyName">The assembly name of the type containing the specified members.</param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberSignature">
            <summary>
            Gets the signature of the member depended on.
            </summary>
            <remarks>
            Either <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberSignature" /> must be a valid string or <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberTypes" />
            must not equal <see cref="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None" />, but not both.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberTypes">
            <summary>
            Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes" /> which specifies the type
            of members depended on.
            </summary>
            <remarks>
            Either <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberSignature" /> must be a valid string or <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.MemberTypes" />
            must not equal <see cref="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None" />, but not both.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Type">
            <summary>
            Gets the <see cref="T:System.Type" /> containing the specified member.
            </summary>
            <remarks>
            If neither <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Type" /> nor <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.TypeName" /> are specified,
            the type of the consumer is assumed.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.TypeName">
            <summary>
            Gets the full name of the type containing the specified member.
            </summary>
            <remarks>
            If neither <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Type" /> nor <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.TypeName" /> are specified,
            the type of the consumer is assumed.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.AssemblyName">
            <summary>
            Gets the assembly name of the specified type.
            </summary>
            <remarks>
            <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.AssemblyName" /> is only valid when <see cref="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.TypeName" /> is specified.
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DynamicDependencyAttribute.Condition">
            <summary>
            Gets or sets the condition in which the dependency is applicable, e.g. "DEBUG".
            </summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
             <summary>
             Indicates that certain members on a specified <see cref="T:System.Type" /> are accessed dynamically,
             for example through <see cref="N:System.Reflection" />.
             </summary>
             <remarks>
             This allows tools to understand which members are being accessed during the execution
             of a program.
            
             This attribute is valid on members whose type is <see cref="T:System.Type" /> or <see cref="T:System.String" />.
            
             When this attribute is applied to a location of type <see cref="T:System.String" />, the assumption is
             that the string represents a fully qualified type name.
            
             When this attribute is applied to a class, interface, or struct, the members specified
             can be accessed dynamically on <see cref="T:System.Type" /> instances returned from calling
             <see cref="M:System.Object.GetType" /> on instances of that class, interface, or struct.
            
             If the attribute is applied to a method it's treated as a special case and it implies
             the attribute should be applied to the "this" parameter of the method. As such the attribute
             should only be used on instance methods of types assignable to System.Type (or string, but no methods
             will use it there).
             </remarks>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute" /> class
            with the specified member types.
            </summary>
            <param name="memberTypes">The types of members dynamically accessed.</param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
            <summary>
            Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes" /> which specifies the type
            of members dynamically accessed.
            </summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
             <summary>
             Specifies the types of members that are dynamically accessed.
            
             This enumeration has a <see cref="T:System.FlagsAttribute" /> attribute that allows a
             bitwise combination of its member values.
             </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
            <summary>
            Specifies no members.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
            <summary>
            Specifies the default, parameterless public constructor.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
            <summary>
            Specifies all public constructors.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
            <summary>
            Specifies all non-public constructors.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
            <summary>
            Specifies all public methods.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
            <summary>
            Specifies all non-public methods.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
            <summary>
            Specifies all public fields.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
            <summary>
            Specifies all non-public fields.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
            <summary>
            Specifies all public nested types.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
            <summary>
            Specifies all non-public nested types.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
            <summary>
            Specifies all public properties.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
            <summary>
            Specifies all non-public properties.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
            <summary>
            Specifies all public events.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
            <summary>
            Specifies all non-public events.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
            <summary>
            Specifies all interfaces implemented by the type.
            </summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
            <summary>
            Specifies all members.
            </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>
