<?xml version="1.0"?>
<doc>
    <assembly>
        <name>MailKit</name>
    </assembly>
    <members>
        <member name="T:MailKit.Net.Imap.ImapClient">
            <summary>
            An IMAP client that can be used to retrieve messages from a server.
            </summary>
            <remarks>
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> class supports both the "imap" and "imaps"
            protocols. The "imap" protocol makes a clear-text connection to the IMAP
            server and does not use SSL or TLS unless the IMAP server supports the
            <a href="https://tools.ietf.org/html/rfc3501#section-6.2.1">STARTTLS</a> extension.
            The "imaps" protocol, however, connects to the IMAP server using an
            SSL-wrapped connection.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.CompressAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously enable compression over the IMAP connection.
            </summary>
            <remarks>
            <para>Asynchronously enables compression over the IMAP connection.</para>
            <para>If the IMAP server supports the <see cref="F:MailKit.Net.Imap.ImapCapabilities.Compress"/> extension,
            it is possible at any point after connecting to enable compression to reduce network
            bandwidth usage. Ideally, this method should be called before authenticating.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Compression must be enabled before a folder has been selected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the COMPRESS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the COMPRESS command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.EnableQuickResyncAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously enable the QRESYNC feature.
            </summary>
            <remarks>
            <para>Enables the <a href="https://tools.ietf.org/html/rfc5162">QRESYNC</a> feature.</para>
            <para>The QRESYNC extension improves resynchronization performance of folders by
            querying the IMAP server for a list of changes when the folder is opened using the
            <see cref="M:MailKit.Net.Imap.ImapFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)"/>
            method.</para>
            <para>If this feature is enabled, the <see cref="E:MailKit.MailFolder.MessageExpunged"/> event is replaced
            with the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event.</para>
            <para>This method needs to be called immediately after calling one of the
            <a href="Overload_MailKit_Net_Imap_ImapClient_Authenticate.htm">Authenticate</a> methods, before
            opening any folders.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Quick resynchronization needs to be enabled before selecting a folder.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the QRESYNC extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the ENABLE command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.EnableUTF8Async(System.Threading.CancellationToken)">
            <summary>
            Asynchronously enable the UTF8=ACCEPT extension.
            </summary>
            <remarks>
            Enables the <a href="https://tools.ietf.org/html/rfc6855">UTF8=ACCEPT</a> extension.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            UTF8=ACCEPT needs to be enabled before selecting a folder.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the UTF8=ACCEPT extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the ENABLE command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.IdentifyAsync(MailKit.Net.Imap.ImapImplementation,System.Threading.CancellationToken)">
            <summary>
            Asynchronously identify the client implementation to the server and obtain the server implementation details.
            </summary>
            <remarks>
            <para>Passes along the client implementation details to the server while also obtaining implementation
            details from the server.</para>
            <para>If the <paramref name="clientImplementation"/> is <c>null</c> or no properties have been set, no
            identifying information will be sent to the server.</para>
            <note type="security">
            <para>Security Implications</para>
            <para>This command has the danger of violating the privacy of users if misused. Clients should
            notify users that they send the ID command.</para>
            <para>It is highly desirable that implementations provide a method of disabling ID support, perhaps by
            not calling this method at all, or by passing <c>null</c> as the <paramref name="clientImplementation"/>
            argument.</para>
            <para>Implementors must exercise extreme care in adding properties to the <paramref name="clientImplementation"/>.
            Some properties, such as a processor ID number, Ethernet address, or other unique (or mostly unique) identifier
            would allow tracking of users in ways that violate user privacy expectations and may also make it easier for
            attackers to exploit security holes in the client.</para>
            </note>
            </remarks>
            <returns>The implementation details of the server if available; otherwise, <c>null</c>.</returns>
            <param name="clientImplementation">The client implementation.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ID extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the ID command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.AuthenticateAsync(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.AuthenticateAsync(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the IMAP server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then LOGIN command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encoding">The text encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.ConnectAsync(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified IMAP server.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified IMAP or IMAP/S server.</para>
            <para>If the <paramref name="port"/> has a value of <c>0</c>, then the
            <paramref name="options"/> parameter is used to determine the default port to
            connect to. The default port used with <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>
            is <c>993</c>. All other values will use a default port of <c>143</c>.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>993</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/> will be
            populated.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the IMAP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.ConnectAsync(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified IMAP or IMAP/S server using the provided socket.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified IMAP or IMAP/S server using
            the provided socket.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>993</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the IMAP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.ConnectAsync(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified IMAP or IMAP/S server using the provided stream.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified IMAP or IMAP/S server using
            the provided stream.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>993</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the IMAP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.DisconnectAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously disconnect the service.
            </summary>
            <remarks>
            If <paramref name="quit"/> is <c>true</c>, a <c>LOGOUT</c> command will be issued in order to disconnect cleanly.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="quit">If set to <c>true</c>, a <c>LOGOUT</c> command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.NoOpAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously ping the IMAP server to keep the connection alive.
            </summary>
            <remarks>
            <para>The <c>NOOP</c> command is typically used to keep the connection with the IMAP server
            alive. When a client goes too long (typically 30 minutes) without sending any commands to the
            IMAP server, the IMAP server will close the connection with the client, forcing the client to
            reconnect before it can send any more commands.</para>
            <para>The <c>NOOP</c> command also provides a great way for a client to check for new
            messages.</para>
            <para>When the IMAP server receives a <c>NOOP</c> command, it will reply to the client with a
            list of pending updates such as <c>EXISTS</c> and <c>RECENT</c> counts on the currently
            selected folder. To receive these notifications, subscribe to the
            <see cref="E:MailKit.MailFolder.CountChanged"/> and <see cref="E:MailKit.MailFolder.RecentChanged"/> events,
            respectively.</para>
            <para>For more information about the <c>NOOP</c> command, see
            <a href="https://tools.ietf.org/html/rfc3501#section-6.1.2">rfc3501</a>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapIdleExample.cs"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the NOOP command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.IdleAsync(System.Threading.CancellationToken,System.Threading.CancellationToken)">
            <summary>
            Asynchronously toggle the <see cref="T:MailKit.Net.Imap.ImapClient"/> into the IDLE state.
            </summary>
            <remarks>
            <para>When a client enters the IDLE state, the IMAP server will send
            events to the client as they occur on the selected folder. These events
            may include notifications of new messages arriving, expunge notifications,
            flag changes, etc.</para>
            <para>Due to the nature of the IDLE command, a folder must be selected
            before a client can enter into the IDLE state. This can be done by
            opening a folder using
            <see cref="M:MailKit.MailFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)"/>
            or any of the other variants.</para>
            <para>While the IDLE command is running, no other commands may be issued until the
            <paramref name="doneToken"/> is cancelled.</para>
            <note type="note">It is especially important to cancel the <paramref name="doneToken"/>
            before cancelling the <paramref name="cancellationToken"/> when using SSL or TLS due to
            the fact that <see cref="T:System.Net.Security.SslStream"/> cannot be polled.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="doneToken">The cancellation token used to return to the non-idle state.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="doneToken"/> must be cancellable (i.e. <see cref="P:System.Threading.CancellationToken.None"/> cannot be used).
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            A <see cref="T:MailKit.Net.Imap.ImapFolder"/> has not been opened.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the IDLE extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the IDLE command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.NotifyAsync(System.Boolean,System.Collections.Generic.IList{MailKit.Net.Imap.ImapEventGroup},System.Threading.CancellationToken)">
            <summary>
            Asynchronously request the specified notification events from the IMAP server.
            </summary>
            <remarks>
            <para>The <a href="https://tools.ietf.org/html/rfc5465">NOTIFY</a> command is used to expand
            which notifications the client wishes to be notified about, including status notifications
            about folders other than the currently selected folder. It can also be used to automatically
            FETCH information about new messages that have arrived in the currently selected folder.</para>
            <para>This, combined with <see cref="M:MailKit.Net.Imap.ImapClient.IdleAsync(System.Threading.CancellationToken,System.Threading.CancellationToken)"/>,
            can be used to get instant notifications for changes to any of the specified folders.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="status"><c>true</c> if the server should immediately notify the client of the
            selected folder's status; otherwise, <c>false</c>.</param>
            <param name="eventGroups">The specific event groups that the client would like to receive notifications for.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="eventGroups"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="eventGroups"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            One or more <see cref="T:MailKit.Net.Imap.ImapEventGroup"/> is invalid.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the NOTIFY extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the NOTIFY command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.DisableNotifyAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously disable any previously requested notification events from the IMAP server.
            </summary>
            <remarks>
            Disables any notification events requested in a prior call to 
            <see cref="M:MailKit.Net.Imap.ImapClient.NotifyAsync(System.Boolean,System.Collections.Generic.IList{MailKit.Net.Imap.ImapEventGroup},System.Threading.CancellationToken)"/>.
            request.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the NOTIFY extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the NOTIFY command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetFoldersAsync(MailKit.FolderNamespace,MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The namespace folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the LIST or LSUB command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetFolderAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the folder for the specified path.
            </summary>
            <remarks>
            Gets the folder for the specified path.
            </remarks>
            <returns>The folder.</returns>
            <param name="path">The folder path.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="path"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the IDLE command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetMetadataAsync(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA or METADATA-SERVER extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetMetadataAsync(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="tags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA or METADATA-SERVER extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.SetMetadataAsync(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Sets the specified metadata.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA or METADATA-SERVER extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapClient"/> class.
            </summary>
            <remarks>
            Before you can retrieve messages with the <see cref="T:MailKit.Net.Imap.ImapClient"/>, you must first
            call one of the <a href="Overload_MailKit_Net_Imap_ImapClient_Connect.htm">Connect</a>
            methods and then authenticate with the one of the
            <a href="Overload_MailKit_Net_Imap_ImapClient_Authenticate.htm">Authenticate</a>
            methods.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.#ctor(MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapClient"/> class.
            </summary>
            <remarks>
            Before you can retrieve messages with the <see cref="T:MailKit.Net.Imap.ImapClient"/>, you must first
            call one of the <a href="Overload_MailKit_Net_Imap_ImapClient_Connect.htm">Connect</a>
            methods and then authenticate with the one of the
            <a href="Overload_MailKit_Net_Imap_ImapClient_Authenticate.htm">Authenticate</a>
            methods.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="ProtocolLogger"/>
            </example>
            <param name="protocolLogger">The protocol logger.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocolLogger"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the IMAP server.
            </summary>
            <remarks>
            <para>Gets an object that can be used to synchronize access to the IMAP server.</para>
            <para>When using the non-Async methods from multiple threads, it is important to lock the
            <see cref="P:MailKit.Net.Imap.ImapClient.SyncRoot"/> object for thread safety when using the synchronous methods.</para>
            </remarks>
            <value>The lock object.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.Protocol">
            <summary>
            Get the protocol supported by the message service.
            </summary>
            <remarks>
            Gets the protocol supported by the message service.
            </remarks>
            <value>The protocol.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.Capabilities">
            <summary>
            Get the capabilities supported by the IMAP server.
            </summary>
            <remarks>
            The capabilities will not be known until a successful connection has been made via one of
            the <a href="Overload_MailKit_Net_Imap_ImapClient_Connect.htm">Connect</a> methods and may
            change as a side-effect of calling one of the
            <a href="Overload_MailKit_Net_Imap_ImapClient_Authenticate.htm">Authenticate</a>
            methods.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The capabilities.</value>
            <exception cref="T:System.ArgumentException">
            Capabilities cannot be enabled, they may only be disabled.
            </exception>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.AppendLimit">
            <summary>
            Gets the maximum size of a message that can be appended to a folder.
            </summary>
            <remarks>
            <para>Gets the maximum size of a message, in bytes, that can be appended to a folder.</para>
            <note type="note">If the value is not set, then the limit is unspecified.</note>
            </remarks>
            <value>The append limit.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.InternationalizationLevel">
            <summary>
            Gets the internationalization level supported by the IMAP server.
            </summary>
            <remarks>
            <para>Gets the internationalization level supported by the IMAP server.</para>
            <para>For more information, see
            <a href="https://tools.ietf.org/html/rfc5255#section-4">section 4 of rfc5255</a>.</para>
            </remarks>
            <value>The internationalization level.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.Rights">
            <summary>
            Get the access rights supported by the IMAP server.
            </summary>
            <remarks>
            These rights are additional rights supported by the IMAP server beyond the standard rights
            defined in <a href="https://tools.ietf.org/html/rfc4314#section-2.1">section 2.1 of rfc4314</a>
            and will not be populated until the client is successfully connected.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The rights.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.CreateImapFolder(MailKit.Net.Imap.ImapFolderConstructorArgs)">
            <summary>
            Instantiate a new <see cref="T:MailKit.Net.Imap.ImapFolder"/>.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MailKit.Net.Imap.ImapFolder"/> instance.</para>
            <note type="note">This method's purpose is to allow subclassing <see cref="T:MailKit.Net.Imap.ImapFolder"/>.</note>
            </remarks>
            <returns>The IMAP folder instance.</returns>
            <param name="args">The constructior arguments.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Compress(System.Threading.CancellationToken)">
            <summary>
            Enable compression over the IMAP connection.
            </summary>
            <remarks>
            <para>Enables compression over the IMAP connection.</para>
            <para>If the IMAP server supports the <see cref="F:MailKit.Net.Imap.ImapCapabilities.Compress"/> extension,
            it is possible at any point after connecting to enable compression to reduce network
            bandwidth usage. Ideally, this method should be called before authenticating.</para>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Compression must be enabled before a folder has been selected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the <see cref="F:MailKit.Net.Imap.ImapCapabilities.Compress"/> extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the COMPRESS command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)">
            <summary>
            Enable the QRESYNC feature.
            </summary>
            <remarks>
            <para>Enables the <a href="https://tools.ietf.org/html/rfc5162">QRESYNC</a> feature.</para>
            <para>The QRESYNC extension improves resynchronization performance of folders by
            querying the IMAP server for a list of changes when the folder is opened using the
            <see cref="M:MailKit.Net.Imap.ImapFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)"/>
            method.</para>
            <para>If this feature is enabled, the <see cref="E:MailKit.MailFolder.MessageExpunged"/> event is replaced
            with the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event.</para>
            <para>This method needs to be called immediately after calling one of the
            <a href="Overload_MailKit_Net_Imap_ImapClient_Authenticate.htm">Authenticate</a> methods, before
            opening any folders.</para>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Quick resynchronization needs to be enabled before selecting a folder.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the QRESYNC extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the ENABLE command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.EnableUTF8(System.Threading.CancellationToken)">
            <summary>
            Enable the UTF8=ACCEPT extension.
            </summary>
            <remarks>
            Enables the <a href="https://tools.ietf.org/html/rfc6855">UTF8=ACCEPT</a> extension.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            UTF8=ACCEPT needs to be enabled before selecting a folder.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the UTF8=ACCEPT extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the ENABLE command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Identify(MailKit.Net.Imap.ImapImplementation,System.Threading.CancellationToken)">
            <summary>
            Identify the client implementation to the server and obtain the server implementation details.
            </summary>
            <remarks>
            <para>Passes along the client implementation details to the server while also obtaining implementation
            details from the server.</para>
            <para>If the <paramref name="clientImplementation"/> is <c>null</c> or no properties have been set, no
            identifying information will be sent to the server.</para>
            <note type="security">
            <para>Security Implications</para>
            <para>This command has the danger of violating the privacy of users if misused. Clients should
            notify users that they send the ID command.</para>
            <para>It is highly desirable that implementations provide a method of disabling ID support, perhaps by
            not calling this method at all, or by passing <c>null</c> as the <paramref name="clientImplementation"/>
            argument.</para>
            <para>Implementors must exercise extreme care in adding properties to the <paramref name="clientImplementation"/>.
            Some properties, such as a processor ID number, Ethernet address, or other unique (or mostly unique) identifier
            would allow tracking of users in ways that violate user privacy expectations and may also make it easier for
            attackers to exploit security holes in the client.</para>
            </note>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <returns>The implementation details of the server if available; otherwise, <c>null</c>.</returns>
            <param name="clientImplementation">The client implementation.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ID extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the ID command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms">
            <summary>
            Get the authentication mechanisms supported by the IMAP server.
            </summary>
            <remarks>
            <para>The authentication mechanisms are queried as part of the
            <a href="Overload_MailKit_Net_Imap_ImapClient_Connect.htm">Connect</a>
            method.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> hash set
            before authenticating.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The authentication mechanisms.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.ThreadingAlgorithms">
            <summary>
            Get the threading algorithms supported by the IMAP server.
            </summary>
            <remarks>
            The threading algorithms are queried as part of the
            <a href="Overload_MailKit_Net_Imap_ImapClient_Connect.htm">Connect</a>
            and <a href="Overload_MailKit_Net_Imap_ImapClient_Authenticate.htm">Authenticate</a> methods.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The authentication mechanisms.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.Timeout">
            <summary>
            Get or set the timeout for network streaming operations, in milliseconds.
            </summary>
            <remarks>
            Gets or sets the underlying socket stream's <see cref="P:System.IO.Stream.ReadTimeout"/>
            and <see cref="P:System.IO.Stream.WriteTimeout"/> values.
            </remarks>
            <value>The timeout in milliseconds.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.IsConnected">
            <summary>
            Get whether or not the client is currently connected to an IMAP server.
            </summary>
            <remarks>
            <para>The <see cref="P:MailKit.Net.Imap.ImapClient.IsConnected"/> state is set to <c>true</c> immediately after
            one of the <a href="Overload_MailKit_Net_Imap_ImapClient_Connect.htm">Connect</a>
            methods succeeds and is not set back to <c>false</c> until either the client
            is disconnected via <see cref="M:MailKit.Net.Imap.ImapClient.Disconnect(System.Boolean,System.Threading.CancellationToken)"/> or until an
            <see cref="T:MailKit.Net.Imap.ImapProtocolException"/> is thrown while attempting to read or write to
            the underlying network socket.</para>
            <para>When an <see cref="T:MailKit.Net.Imap.ImapProtocolException"/> is caught, the connection state of the
            <see cref="T:MailKit.Net.Imap.ImapClient"/> should be checked before continuing.</para>
            </remarks>
            <value><c>true</c> if the client is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.IsSecure">
            <summary>
            Get whether or not the connection is secure (typically via SSL or TLS).
            </summary>
            <remarks>
            Gets whether or not the connection is secure (typically via SSL or TLS).
            </remarks>
            <value><c>true</c> if the connection is secure; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.IsAuthenticated">
            <summary>
            Get whether or not the client is currently authenticated with the IMAP server.
            </summary>
            <remarks>
            <para>Gets whether or not the client is currently authenticated with the IMAP server.</para>
            <para>To authenticate with the IMAP server, use one of the
            <a href="Overload_MailKit_Net_Imap_ImapClient_Authenticate.htm">Authenticate</a>
            methods.</para>
            </remarks>
            <value><c>true</c> if the client is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.IsIdle">
            <summary>
            Get whether or not the client is currently in the IDLE state.
            </summary>
            <remarks>
            Gets whether or not the client is currently in the IDLE state.
            </remarks>
            <value><c>true</c> if an IDLE command is active; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Authenticate(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Authenticate(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the IMAP server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then LOGIN command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <param name="encoding">The text encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Connect(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified IMAP server.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified IMAP or IMAP/S server.</para>
            <para>If the <paramref name="port"/> has a value of <c>0</c>, then the
            <paramref name="options"/> parameter is used to determine the default port to
            connect to. The default port used with <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>
            is <c>993</c>. All other values will use a default port of <c>143</c>.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>993</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/> will be
            populated.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the IMAP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Connect(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified IMAP or IMAP/S server using the provided socket.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified IMAP or IMAP/S server using
            the provided socket.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>993</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the IMAP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Connect(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified IMAP or IMAP/S server using the provided stream.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified IMAP or IMAP/S server using
            the provided stream.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>993</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Imap.ImapClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the IMAP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            An IMAP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Disconnect(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Disconnect the service.
            </summary>
            <remarks>
            If <paramref name="quit"/> is <c>true</c>, a <c>LOGOUT</c> command will be issued in order to disconnect cleanly.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
            <param name="quit">If set to <c>true</c>, a <c>LOGOUT</c> command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.NoOp(System.Threading.CancellationToken)">
            <summary>
            Ping the IMAP server to keep the connection alive.
            </summary>
            <remarks>
            <para>The <c>NOOP</c> command is typically used to keep the connection with the IMAP server
            alive. When a client goes too long (typically 30 minutes) without sending any commands to the
            IMAP server, the IMAP server will close the connection with the client, forcing the client to
            reconnect before it can send any more commands.</para>
            <para>The <c>NOOP</c> command also provides a great way for a client to check for new
            messages.</para>
            <para>When the IMAP server receives a <c>NOOP</c> command, it will reply to the client with a
            list of pending updates such as <c>EXISTS</c> and <c>RECENT</c> counts on the currently
            selected folder. To receive these notifications, subscribe to the
            <see cref="E:MailKit.MailFolder.CountChanged"/> and <see cref="E:MailKit.MailFolder.RecentChanged"/> events,
            respectively.</para>
            <para>For more information about the <c>NOOP</c> command, see
            <a href="https://tools.ietf.org/html/rfc3501#section-6.1.2">rfc3501</a>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapIdleExample.cs"/>
            </example>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the NOOP command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Idle(System.Threading.CancellationToken,System.Threading.CancellationToken)">
            <summary>
            Toggle the <see cref="T:MailKit.Net.Imap.ImapClient"/> into the IDLE state.
            </summary>
            <remarks>
            <para>When a client enters the IDLE state, the IMAP server will send
            events to the client as they occur on the selected folder. These events
            may include notifications of new messages arriving, expunge notifications,
            flag changes, etc.</para>
            <para>Due to the nature of the IDLE command, a folder must be selected
            before a client can enter into the IDLE state. This can be done by
            opening a folder using
            <see cref="M:MailKit.MailFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)"/>
            or any of the other variants.</para>
            <para>While the IDLE command is running, no other commands may be issued until the
            <paramref name="doneToken"/> is cancelled.</para>
            <note type="note">It is especially important to cancel the <paramref name="doneToken"/>
            before cancelling the <paramref name="cancellationToken"/> when using SSL or TLS due to
            the fact that <see cref="T:System.Net.Security.SslStream"/> cannot be polled.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapIdleExample.cs"/>
            </example>
            <param name="doneToken">The cancellation token used to return to the non-idle state.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="doneToken"/> must be cancellable (i.e. <see cref="P:System.Threading.CancellationToken.None"/> cannot be used).
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            A <see cref="T:MailKit.Net.Imap.ImapFolder"/> has not been opened.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the IDLE extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the IDLE command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Notify(System.Boolean,System.Collections.Generic.IList{MailKit.Net.Imap.ImapEventGroup},System.Threading.CancellationToken)">
            <summary>
            Request the specified notification events from the IMAP server.
            </summary>
            <remarks>
            <para>The <a href="https://tools.ietf.org/html/rfc5465">NOTIFY</a> command is used to expand
            which notifications the client wishes to be notified about, including status notifications
            about folders other than the currently selected folder. It can also be used to automatically
            FETCH information about new messages that have arrived in the currently selected folder.</para>
            <para>This, combined with <see cref="M:MailKit.Net.Imap.ImapClient.Idle(System.Threading.CancellationToken,System.Threading.CancellationToken)"/>,
            can be used to get instant notifications for changes to any of the specified folders.</para>
            </remarks>
            <param name="status"><c>true</c> if the server should immediately notify the client of the
            selected folder's status; otherwise, <c>false</c>.</param>
            <param name="eventGroups">The specific event groups that the client would like to receive notifications for.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="eventGroups"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="eventGroups"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            One or more <see cref="T:MailKit.Net.Imap.ImapEventGroup"/> is invalid.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the NOTIFY extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the NOTIFY command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.DisableNotify(System.Threading.CancellationToken)">
            <summary>
            Disable any previously requested notification events from the IMAP server.
            </summary>
            <remarks>
            Disables any notification events requested in a prior call to 
            <see cref="M:MailKit.Net.Imap.ImapClient.Notify(System.Boolean,System.Collections.Generic.IList{MailKit.Net.Imap.ImapEventGroup},System.Threading.CancellationToken)"/>.
            request.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the NOTIFY extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the NOTIFY command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.PersonalNamespaces">
            <summary>
            Get the personal namespaces.
            </summary>
            <remarks>
            The personal folder namespaces contain a user's personal mailbox folders.
            </remarks>
            <value>The personal namespaces.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.SharedNamespaces">
            <summary>
            Get the shared namespaces.
            </summary>
            <remarks>
            The shared folder namespaces contain mailbox folders that are shared with the user.
            </remarks>
            <value>The shared namespaces.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.OtherNamespaces">
            <summary>
            Get the other namespaces.
            </summary>
            <remarks>
            The other folder namespaces contain other mailbox folders.
            </remarks>
            <value>The other namespaces.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.SupportsQuotas">
            <summary>
            Get whether or not the mail store supports quotas.
            </summary>
            <remarks>
            Gets whether or not the mail store supports quotas.
            </remarks>
            <value><c>true</c> if the mail store supports quotas; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapClient.Inbox">
            <summary>
            Get the Inbox folder.
            </summary>
            <remarks>
            <para>The Inbox folder is the default folder and always exists on the server.</para>
            <note type="note">This property will only be available after the client has been authenticated.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
            <value>The Inbox folder.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetFolder(MailKit.SpecialFolder)">
            <summary>
            Get the specified special folder.
            </summary>
            <remarks>
            Not all IMAP servers support special folders. Only IMAP servers
            supporting the <see cref="F:MailKit.Net.Imap.ImapCapabilities.SpecialUse"/> or
            <see cref="F:MailKit.Net.Imap.ImapCapabilities.XList"/> extensions may have
            special folders.
            </remarks>
            <returns>The folder if available; otherwise <c>null</c>.</returns>
            <param name="folder">The type of special folder.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="folder"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the SPECIAL-USE nor XLIST extensions.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetFolder(MailKit.FolderNamespace)">
            <summary>
            Get the folder for the specified namespace.
            </summary>
            <remarks>
            Gets the folder for the specified namespace.
            </remarks>
            <returns>The folder.</returns>
            <param name="namespace">The namespace.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetFolders(MailKit.FolderNamespace,MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The namespace folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the LIST or LSUB command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetFolder(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the folder for the specified path.
            </summary>
            <remarks>
            Gets the folder for the specified path.
            </remarks>
            <returns>The folder.</returns>
            <param name="path">The folder path.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="path"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied to the IDLE command with a NO or BAD response.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetMetadata(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA or METADATA-SERVER extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.GetMetadata(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="tags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA or METADATA-SERVER extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.SetMetadata(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Sets the specified metadata.
            </summary>
            <remarks>
            Sets the specified metadata.
            </remarks>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA or METADATA-SERVER extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapClient.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Imap.ImapClient"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Imap.ImapClient"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MailKit.Net.Imap.ImapFetchStreamCallback">
            <summary>
            A callback used when fetching message streams.
            </summary>
            <remarks>
            <para>This callback is meant to be used with the various
            <a href="Overload_MailKit_Net_Imap_ImapFolder_GetStreams.htm">GetStreams</a>
            methods.</para>
            <para>Once this callback returns, the stream argument will be disposed, so
            it is important to consume the stream right away and not add it to a queue
            for later processing.</para>
            </remarks>
        </member>
        <member name="T:MailKit.Net.Imap.ImapCapabilities">
            <summary>
            Capabilities supported by an IMAP server.
            </summary>
            <remarks>
            Capabilities are read as part of the response to the <c>CAPABILITY</c> command that
            is issued during the connection and authentication phases of the
            <see cref="T:MailKit.Net.Imap.ImapClient"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.None">
            <summary>
            The server does not support any additional extensions.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.IMAP4">
            <summary>
            The server implements the core IMAP4 commands.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.IMAP4rev1">
            <summary>
            The server implements the core IMAP4rev1 commands.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.IMAP4rev2">
            <summary>
            The server implements the core IMAP4rev2 commands.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Status">
            <summary>
            The server supports the <c>STATUS</c> command.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Acl">
            <summary>
            The server supports the ACL extension defined in <a href="https://tools.ietf.org/html/rfc2086">rfc2086</a>
            and <a href="https://tools.ietf.org/html/rfc4314">rfc4314</a>.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Quota">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2087">QUOTA</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.LiteralPlus">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2088">LITERAL+</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Idle">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2177">IDLE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.MailboxReferrals">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2193">MAILBOX-REFERRALS</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.LoginReferrals">
            <summary>
            the server supports the <a href="https://tools.ietf.org/html/rfc2221">LOGIN-REFERRALS</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Namespace">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2342">NAMESPACE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Id">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2971">ID</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Children">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3348">CHILDREN</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.LoginDisabled">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3501">LOGINDISABLED</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.StartTLS">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3501">STARTTLS</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.MultiAppend">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3502">MULTIAPPEND</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Binary">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3516">BINARY</a> content extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Unselect">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3691">UNSELECT</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.UidPlus">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc4315">UIDPLUS</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Catenate">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc4469">CATENATE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.CondStore">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc4551">CONDSTORE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.ESearch">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc4731">ESEARCH</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.SaslIR">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc4959">SASL-IR</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Compress">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc4978">COMPRESS</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Within">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5032">WITHIN</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Enable">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5161">ENABLE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.QuickResync">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5162">QRESYNC</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.SearchResults">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5182">SEARCHRES</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Sort">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5256">SORT</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Thread">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5256">THREAD</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.ListExtended">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5258">LIST-EXTENDED</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Convert">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5259">CONVERT</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Language">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5255">LANGUAGE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.I18NLevel">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5255">I18NLEVEL</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.ESort">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5267">ESORT</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Context">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5267">CONTEXT</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Metadata">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5464">METADATA</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.MetadataServer">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5464">METADATA-SERVER</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Notify">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5465">NOTIFY</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Filters">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5466">FILTERS</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.ListStatus">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5819">LIST-STATUS</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.SortDisplay">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc5957">SORT=DISPLAY</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.CreateSpecialUse">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6154">CREATE-SPECIAL-USE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.SpecialUse">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6154">SPECIAL-USE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.FuzzySearch">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6203">SEARCH=FUZZY</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.MultiSearch">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6237">MULTISEARCH</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Move">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6851">MOVE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.UTF8Accept">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6855">UTF8=ACCEPT</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.UTF8Only">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6855">UTF8=ONLY</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.LiteralMinus">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc7888">LITERAL-</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.AppendLimit">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc7889">APPENDLIMIT</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.Unauthenticate">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc8437">UNAUTHENTICATE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.StatusSize">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc8438">STATUS=SIZE</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.ListMyRights">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc8440">LIST-MYRIGHTS</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.ObjectID">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc8474">OBJECTID</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.XList">
            <summary>
            The server supports the <a href="https://developers.google.com/gmail/imap_extensions">XLIST</a> extension (GMail).
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCapabilities.GMailExt1">
            <summary>
            The server supports the <a href="https://developers.google.com/gmail/imap_extensions">X-GM-EXT1</a> extension (GMail).
            </summary>
        </member>
        <member name="T:MailKit.Net.Imap.ImapContinuationHandler">
            <summary>
            An IMAP continuation handler.
            </summary>
            <remarks>
            All exceptions thrown by the handler are considered fatal and will
            force-disconnect the connection. If a non-fatal error occurs, set
            it on the <see cref="P:MailKit.Net.Imap.ImapCommand.Exception"/> property.
            </remarks>
        </member>
        <member name="T:MailKit.Net.Imap.ImapUntaggedHandler">
            <summary>
            An IMAP untagged response handler.
            </summary>
            <remarks>
            <para>Most IMAP commands return their results in untagged responses.</para>
            </remarks>
        </member>
        <member name="T:MailKit.Net.Imap.ImapCommandStatus">
            <summary>
            IMAP command status.
            </summary>
        </member>
        <member name="T:MailKit.Net.Imap.ImapIdleContext">
            <summary>
            An IMAP IDLE context.
            </summary>
            <remarks>
            <para>An IMAP IDLE command does not work like normal commands. Unlike most commands,
            the IDLE command does not end until the client sends a separate "DONE" command.</para>
            <para>In order to facilitate this, the way this works is that the consumer of MailKit's
            IMAP APIs provides a 'doneToken' which signals to the command-processing loop to
            send the "DONE" command. Since, like every other IMAP command, it is also necessary to
            provide a means of cancelling the IDLE command, it becomes necessary to link the
            'doneToken' and the 'cancellationToken' together.</para>
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapIdleContext.#ctor(MailKit.Net.Imap.ImapEngine,System.Threading.CancellationToken,System.Threading.CancellationToken)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapIdleContext"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapIdleContext"/>.
            </remarks>
            <param name="engine">The IMAP engine.</param>
            <param name="doneToken">The done token.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="P:MailKit.Net.Imap.ImapIdleContext.Engine">
            <summary>
            Get the engine.
            </summary>
            <remarks>
            Gets the engine.
            </remarks>
            <value>The engine.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapIdleContext.CancellationToken">
            <summary>
            Get the cancellation token.
            </summary>
            <remarks>
            Get the cancellation token.
            </remarks>
            <value>The cancellation token.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapIdleContext.LinkedToken">
            <summary>
            Get the linked token.
            </summary>
            <remarks>
            Gets the linked token.
            </remarks>
            <value>The linked token.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapIdleContext.DoneToken">
            <summary>
            Get the done token.
            </summary>
            <remarks>
            Gets the done token.
            </remarks>
            <value>The done token.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapIdleContext.IsCancellationRequested">
            <summary>
            Get whether or not cancellation has been requested.
            </summary>
            <remarks>
            Gets whether or not cancellation has been requested.
            </remarks>
            <value><c>true</c> if cancellation has been requested; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapIdleContext.IsDoneRequested">
            <summary>
            Get whether or not the IDLE command should be ended.
            </summary>
            <remarks>
            Gets whether or not the IDLE command should be ended.
            </remarks>
            <value><c>true</c> if the IDLE command should end; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapIdleContext.Dispose">
            <summary>
            Releases all resource used by the <see cref="T:MailKit.Net.Imap.ImapIdleContext"/> object.
            </summary>
            <remarks>Call <see cref="M:MailKit.Net.Imap.ImapIdleContext.Dispose"/> when you are finished using the <see cref="T:MailKit.Net.Imap.ImapIdleContext"/>. The
            <see cref="M:MailKit.Net.Imap.ImapIdleContext.Dispose"/> method leaves the <see cref="T:MailKit.Net.Imap.ImapIdleContext"/> in an unusable state. After
            calling <see cref="M:MailKit.Net.Imap.ImapIdleContext.Dispose"/>, you must release all references to the
            <see cref="T:MailKit.Net.Imap.ImapIdleContext"/> so the garbage collector can reclaim the memory that the
            <see cref="T:MailKit.Net.Imap.ImapIdleContext"/> was occupying.</remarks>
        </member>
        <member name="T:MailKit.Net.Imap.ImapLiteral">
            <summary>
            An IMAP literal object.
            </summary>
            <remarks>
            The literal can be a string, byte[], Stream, or a MimeMessage.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapLiteral.#ctor(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Action{System.Int32})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapLiteral"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapLiteral"/>.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="literal">The literal.</param>
            <param name="action">The progress update action.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapLiteral.#ctor(MimeKit.FormatOptions,System.Byte[])">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapLiteral"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapLiteral"/>.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="literal">The literal.</param>
        </member>
        <member name="P:MailKit.Net.Imap.ImapLiteral.Length">
            <summary>
            Get the length of the literal, in bytes.
            </summary>
            <remarks>
            Gets the length of the literal, in bytes.
            </remarks>
            <value>The length.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapLiteral.WriteToAsync(MailKit.Net.Imap.ImapStream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Write the literal to the specified stream.
            </summary>
            <remarks>
            Writes the literal to the specified stream.
            </remarks>
            <param name="stream">The stream.</param>
            <param name="doAsync">Whether the literal should be written asynchronously or not.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="T:MailKit.Net.Imap.ImapCommandPart">
            <summary>
            A partial IMAP command.
            </summary>
            <remarks>
            IMAP commands that contain literal strings are broken up into multiple parts
            in case the IMAP server does not support the LITERAL+ extension. These parts
            are then sent individually as we receive "+" responses from the server.
            </remarks>
        </member>
        <member name="T:MailKit.Net.Imap.ImapCommand">
            <summary>
            An IMAP command.
            </summary>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommand.#ctor(MailKit.Net.Imap.ImapEngine,System.Threading.CancellationToken,MailKit.Net.Imap.ImapFolder,MimeKit.FormatOptions,System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapCommand"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapCommand"/>.
            </remarks>
            <param name="engine">The IMAP engine that will be sending the command.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="folder">The IMAP folder that the command operates on.</param>
            <param name="options">The formatting options.</param>
            <param name="format">The command format.</param>
            <param name="args">The command arguments.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommand.#ctor(MailKit.Net.Imap.ImapEngine,System.Threading.CancellationToken,MailKit.Net.Imap.ImapFolder,System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapCommand"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapCommand"/>.
            </remarks>
            <param name="engine">The IMAP engine that will be sending the command.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="folder">The IMAP folder that the command operates on.</param>
            <param name="format">The command format.</param>
            <param name="args">The command arguments.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommand.RegisterUntaggedHandler(System.String,MailKit.Net.Imap.ImapUntaggedHandler)">
            <summary>
            Registers the untagged handler for the specified atom token.
            </summary>
            <param name="atom">The atom token.</param>
            <param name="handler">The handler.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="atom"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="handler"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Untagged handlers must be registered before the command has been queued.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommand.StepAsync(System.Boolean)">
            <summary>
            Sends the next part of the command to the server.
            </summary>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="T:MailKit.Net.Imap.ImapCommandException">
            <summary>
            An exception that is thrown when an IMAP command returns NO or BAD.
            </summary>
            <remarks>
            The exception that is thrown when an IMAP command fails. Unlike a <see cref="T:MailKit.Net.Imap.ImapProtocolException"/>,
            a <see cref="T:MailKit.Net.Imap.ImapCommandException"/> does not require the <see cref="T:MailKit.Net.Imap.ImapClient"/> to be reconnected.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommandException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapCommandException"/> from the serialized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommandException.Create(System.String,MailKit.Net.Imap.ImapCommand)">
            <summary>
            Create a new <see cref="T:MailKit.Net.Imap.ImapCommandException"/> based on the specified command name and <see cref="T:MailKit.Net.Imap.ImapCommand"/> state.
            </summary>
            <remarks>
            Create a new <see cref="T:MailKit.Net.Imap.ImapCommandException"/> based on the specified command name and <see cref="T:MailKit.Net.Imap.ImapCommand"/> state.
            </remarks>
            <returns>A new command exception.</returns>
            <param name="command">The command name.</param>
            <param name="ic">The command state.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommandException.#ctor(MailKit.Net.Imap.ImapCommandResponse,System.String,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapCommandException"/>.
            </remarks>
            <param name="response">The IMAP command response.</param>
            <param name="message">The error message.</param>
            <param name="responseText">The human-readable response text.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommandException.#ctor(MailKit.Net.Imap.ImapCommandResponse,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapCommandException"/>.
            </remarks>
            <param name="response">The IMAP command response.</param>
            <param name="responseText">The human-readable response text.</param>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommandException.#ctor(MailKit.Net.Imap.ImapCommandResponse,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapCommandException"/>.
            </remarks>
            <param name="response">The IMAP command response.</param>
            <param name="responseText">The human-readable response text.</param>
        </member>
        <member name="P:MailKit.Net.Imap.ImapCommandException.Response">
            <summary>
            Gets the IMAP command response.
            </summary>
            <remarks>
            Gets the IMAP command response.
            </remarks>
            <value>The IMAP command response.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapCommandException.ResponseText">
            <summary>
            Gets the human-readable IMAP command response text.
            </summary>
            <remarks>
            Gets the human-readable IMAP command response text.
            </remarks>
            <value>The response text.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapCommandException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Serializes the state of the <see cref="T:MailKit.FolderNotFoundException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.Net.Imap.ImapCommandResponse">
            <summary>
            An enumeration of possible IMAP command responses.
            </summary>
            <remarks>
            An enumeration of possible IMAP command responses.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCommandResponse.None">
            <summary>
            No IMAP command response yet.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCommandResponse.Ok">
            <summary>
            The command resulted in an "OK" response.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCommandResponse.No">
            <summary>
            The command resulted in a "NO" response.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapCommandResponse.Bad">
            <summary>
            The command resulted in a "BAD" response.
            </summary>
        </member>
        <member name="T:MailKit.Net.Imap.ImapEngineState">
            <summary>
            The state of the <see cref="T:MailKit.Net.Imap.ImapEngine"/>.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEngineState.Disconnected">
            <summary>
            The ImapEngine is in the disconnected state.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEngineState.Connecting">
            <summary>
            The ImapEngine is in the process of connecting.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEngineState.Connected">
            <summary>
            The ImapEngine is connected but not yet authenticated.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEngineState.Authenticated">
            <summary>
            The ImapEngine is in the authenticated state.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEngineState.Selected">
            <summary>
            The ImapEngine is in the selected state.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEngineState.Idle">
            <summary>
            The ImapEngine is in the IDLE state.
            </summary>
        </member>
        <member name="T:MailKit.Net.Imap.ImapEngine">
            <summary>
            An IMAP command engine.
            </summary>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.AuthenticationMechanisms">
            <summary>
            Get the authentication mechanisms supported by the IMAP server.
            </summary>
            <remarks>
            The authentication mechanisms are queried durring the
            <see cref="M:MailKit.Net.Imap.ImapEngine.ConnectAsync(MailKit.Net.Imap.ImapStream,System.Boolean,System.Threading.CancellationToken)"/> method.
            </remarks>
            <value>The authentication mechanisms.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.CompressionAlgorithms">
            <summary>
            Get the compression algorithms supported by the IMAP server.
            </summary>
            <remarks>
            The compression algorithms are populated by the
            <see cref="M:MailKit.Net.Imap.ImapEngine.QueryCapabilitiesAsync(System.Boolean,System.Threading.CancellationToken)"/> method.
            </remarks>
            <value>The compression algorithms.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.ThreadingAlgorithms">
            <summary>
            Get the threading algorithms supported by the IMAP server.
            </summary>
            <remarks>
            The threading algorithms are populated by the
            <see cref="M:MailKit.Net.Imap.ImapEngine.QueryCapabilitiesAsync(System.Boolean,System.Threading.CancellationToken)"/> method.
            </remarks>
            <value>The threading algorithms.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.AppendLimit">
            <summary>
            Gets the append limit supported by the IMAP server.
            </summary>
            <remarks>
            Gets the append limit supported by the IMAP server.
            </remarks>
            <value>The append limit.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.I18NLevel">
            <summary>
            Gets the I18NLEVEL supported by the IMAP server.
            </summary>
            <remarks>
            Gets the I18NLEVEL supported by the IMAP server.
            </remarks>
            <value>The internationalization level.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Capabilities">
            <summary>
            Get the capabilities supported by the IMAP server.
            </summary>
            <remarks>
            The capabilities will not be known until a successful connection
            has been made via the <see cref="M:MailKit.Net.Imap.ImapEngine.ConnectAsync(MailKit.Net.Imap.ImapStream,System.Boolean,System.Threading.CancellationToken)"/> method.
            </remarks>
            <value>The capabilities.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.IsBusy">
            <summary>
            Indicates whether or not the engine is busy processing commands.
            </summary>
            <remarks>
            Indicates whether or not the engine is busy processing commands.
            </remarks>
            <value><c>true</c> if th e engine is busy processing commands; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.CapabilitiesVersion">
            <summary>
            Get the capabilities version.
            </summary>
            <remarks>
            Every time the engine receives an untagged CAPABILITIES
            response from the server, it increments this value.
            </remarks>
            <value>The capabilities version.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.ProtocolVersion">
            <summary>
            Get the IMAP protocol version.
            </summary>
            <remarks>
            Gets the IMAP protocol version.
            </remarks>
            <value>The IMAP protocol version.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Rights">
            <summary>
            Get the rights specified in the capabilities.
            </summary>
            <remarks>
            Gets the rights specified in the capabilities.
            </remarks>
            <value>The rights.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.SupportedCharsets">
            <summary>
            Get the supported charsets.
            </summary>
            <remarks>
            Gets the supported charsets.
            </remarks>
            <value>The supported charsets.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.SupportedContexts">
            <summary>
            Get the supported contexts.
            </summary>
            <remarks>
            Gets the supported contexts.
            </remarks>
            <value>The supported contexts.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.QResyncEnabled">
            <summary>
            Get whether or not the QRESYNC feature has been enabled.
            </summary>
            <remarks>
            Gets whether or not the QRESYNC feature has been enabled.
            </remarks>
            <value><c>true</c> if the QRESYNC feature has been enabled; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.UTF8Enabled">
            <summary>
            Get whether or not the UTF8=ACCEPT feature has been enabled.
            </summary>
            <remarks>
            Gets whether or not the UTF8=ACCEPT feature has been enabled.
            </remarks>
            <value><c>true</c> if the UTF8=ACCEPT feature has been enabled; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Uri">
            <summary>
            Get the URI of the IMAP server.
            </summary>
            <remarks>
            Gets the URI of the IMAP server.
            </remarks>
            <value>The URI of the IMAP server.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Stream">
            <summary>
            Get the underlying IMAP stream.
            </summary>
            <remarks>
            Gets the underlying IMAP stream.
            </remarks>
            <value>The IMAP stream.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.State">
            <summary>
            Get or sets the state of the engine.
            </summary>
            <remarks>
            Gets or sets the state of the engine.
            </remarks>
            <value>The engine state.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.IsConnected">
            <summary>
            Get whether or not the engine is currently connected to a IMAP server.
            </summary>
            <remarks>
            Gets whether or not the engine is currently connected to a IMAP server.
            </remarks>
            <value><c>true</c> if the engine is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.PersonalNamespaces">
            <summary>
            Gets the personal folder namespaces.
            </summary>
            <remarks>
            Gets the personal folder namespaces.
            </remarks>
            <value>The personal folder namespaces.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.SharedNamespaces">
            <summary>
            Gets the shared folder namespaces.
            </summary>
            <remarks>
            Gets the shared folder namespaces.
            </remarks>
            <value>The shared folder namespaces.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.OtherNamespaces">
            <summary>
            Gets the other folder namespaces.
            </summary>
            <remarks>
            Gets the other folder namespaces.
            </remarks>
            <value>The other folder namespaces.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Selected">
            <summary>
            Gets the selected folder.
            </summary>
            <remarks>
            Gets the selected folder.
            </remarks>
            <value>The selected folder.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.IsDisposed">
            <summary>
            Gets a value indicating whether the engine is disposed.
            </summary>
            <remarks>
            Gets a value indicating whether the engine is disposed.
            </remarks>
            <value><c>true</c> if the engine is disposed; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.NotifySelectedNewExpunge">
            <summary>
            Gets whether the current NOTIFY status prevents using indexes and * for referencing messages.
            </summary>
            <remarks>
            Gets whether the current NOTIFY status prevents using indexes and * for referencing messages. This is the case when the client has asked for MessageNew or MessageExpunge events on the SELECTED mailbox.
            </remarks>
            <value><c>true</c> if the use of indexes and * is prevented; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Inbox">
            <summary>
            Gets the Inbox folder.
            </summary>
            <value>The Inbox folder.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.All">
            <summary>
            Gets the special folder containing an aggregate of all messages.
            </summary>
            <value>The folder containing all messages.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Archive">
            <summary>
            Gets the special archive folder.
            </summary>
            <value>The archive folder.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Drafts">
            <summary>
            Gets the special folder containing drafts.
            </summary>
            <value>The drafts folder.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Flagged">
            <summary>
            Gets the special folder containing flagged messages.
            </summary>
            <value>The flagged folder.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Junk">
            <summary>
            Gets the special folder containing junk messages.
            </summary>
            <value>The junk folder.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Sent">
            <summary>
            Gets the special folder containing sent messages.
            </summary>
            <value>The sent.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEngine.Trash">
            <summary>
            Gets the folder containing deleted messages.
            </summary>
            <value>The trash folder.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.SetStream(MailKit.Net.Imap.ImapStream)">
            <summary>
            Sets the stream - this is only here to be used by the unit tests.
            </summary>
            <param name="stream">The IMAP stream.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.ConnectAsync(MailKit.Net.Imap.ImapStream,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Takes posession of the <see cref="T:MailKit.Net.Imap.ImapStream"/> and reads the greeting.
            </summary>
            <param name="stream">The IMAP stream.</param>
            <param name="doAsync">Whether or not asyncrhonois IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.Disconnect">
            <summary>
            Disconnects the <see cref="T:MailKit.Net.Imap.ImapEngine"/>.
            </summary>
            <remarks>
            Disconnects the <see cref="T:MailKit.Net.Imap.ImapEngine"/>.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.ReadToken(System.Threading.CancellationToken)">
            <summary>
            Reads the next token.
            </summary>
            <returns>The token.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The engine is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            An IMAP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.ParseResponseCodeAsync(System.Boolean,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Parses the response code.
            </summary>
            <returns>The response code.</returns>
            <param name="isTagged">Whether or not the resp-code is tagged vs untagged.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.ProcessUntaggedResponseAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Processes an untagged response.
            </summary>
            <returns>The untagged response.</returns>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.IterateAsync(System.Boolean)">
            <summary>
            Iterate the command pipeline.
            </summary>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.RunAsync(MailKit.Net.Imap.ImapCommand,System.Boolean)">
            <summary>
            Wait for the specified command to finish.
            </summary>
            <param name="ic">The IMAP command.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="ic"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.QueueCommand(System.Threading.CancellationToken,MailKit.Net.Imap.ImapFolder,MimeKit.FormatOptions,System.String,System.Object[])">
            <summary>
            Queues the command.
            </summary>
            <returns>The command.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="folder">The folder that the command operates on.</param>
            <param name="options">The formatting options.</param>
            <param name="format">The command format.</param>
            <param name="args">The command arguments.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.QueueCommand(System.Threading.CancellationToken,MailKit.Net.Imap.ImapFolder,System.String,System.Object[])">
            <summary>
            Queues the command.
            </summary>
            <returns>The command.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="folder">The folder that the command operates on.</param>
            <param name="format">The command format.</param>
            <param name="args">The command arguments.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.QueueCommand(MailKit.Net.Imap.ImapCommand)">
            <summary>
            Queues the command.
            </summary>
            <param name="ic">The IMAP command.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.QueryCapabilitiesAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Queries the capabilities.
            </summary>
            <returns>The command result.</returns>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.CacheFolder(MailKit.Net.Imap.ImapFolder)">
            <summary>
            Cache the specified folder.
            </summary>
            <param name="folder">The folder.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.GetCachedFolder(System.String,MailKit.Net.Imap.ImapFolder@)">
            <summary>
            Gets the cached folder.
            </summary>
            <returns><c>true</c> if the folder was retreived from the cache; otherwise, <c>false</c>.</returns>
            <param name="encodedName">The encoded folder name.</param>
            <param name="folder">The cached folder.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.LookupParentFoldersAsync(System.Collections.Generic.IEnumerable{MailKit.Net.Imap.ImapFolder},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Looks up and sets the <see cref="P:MailKit.MailFolder.ParentFolder"/> property of each of the folders.
            </summary>
            <param name="folders">The IMAP folders.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.QueryNamespacesAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Queries the namespaces.
            </summary>
            <returns>The command result.</returns>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.AssignSpecialFolder(MailKit.Net.Imap.ImapFolder)">
            <summary>
            Assigns a folder as a special folder.
            </summary>
            <param name="folder">The special folder.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.AssignSpecialFolders(System.Collections.Generic.IList{MailKit.Net.Imap.ImapFolder})">
            <summary>
            Assigns the special folders.
            </summary>
            <param name="list">The list of folders.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.QuerySpecialFoldersAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Queries the special folders.
            </summary>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.GetQuotaRootFolderAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Gets the folder representing the specified quota root.
            </summary>
            <returns>The folder.</returns>
            <param name="quotaRoot">The name of the quota root.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.GetFolderAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Gets the folder for the specified path.
            </summary>
            <returns>The folder.</returns>
            <param name="path">The folder path.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.GetFoldersAsync(MailKit.FolderNamespace,MailKit.StatusItems,System.Boolean,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Gets all of the folders within the specified namespace.
            </remarks>
            <returns>The list of folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.DecodeMailboxName(System.String)">
            <summary>
            Decodes the name of the mailbox.
            </summary>
            <returns>The mailbox name.</returns>
            <param name="encodedName">The encoded name.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.EncodeMailboxName(System.String)">
            <summary>
            Encodes the name of the mailbox.
            </summary>
            <returns>The mailbox name.</returns>
            <param name="mailboxName">The encoded mailbox name.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.IsValidMailboxName(System.String,System.Char)">
            <summary>
            Determines whether the mailbox name is valid or not.
            </summary>
            <returns><c>true</c> if the mailbox name is valid; otherwise, <c>false</c>.</returns>
            <param name="mailboxName">The mailbox name.</param>
            <param name="delim">The path delimeter.</param>
        </member>
        <member name="E:MailKit.Net.Imap.ImapEngine.Alert">
            <summary>
            Occurs when the engine receives an alert message from the server.
            </summary>
        </member>
        <member name="E:MailKit.Net.Imap.ImapEngine.FolderCreated">
            <summary>
            Occurs when the engine receives a notification that a folder has been created.
            </summary>
        </member>
        <member name="E:MailKit.Net.Imap.ImapEngine.MetadataChanged">
            <summary>
            Occurs when the engine receives a notification that metadata has changed.
            </summary>
        </member>
        <member name="E:MailKit.Net.Imap.ImapEngine.NotificationOverflow">
            <summary>
            Occurs when the engine receives a notification overflow message from the server.
            </summary>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEngine.Dispose">
            <summary>
            Releases all resource used by the <see cref="T:MailKit.Net.Imap.ImapEngine"/> object.
            </summary>
            <remarks>Call <see cref="M:MailKit.Net.Imap.ImapEngine.Dispose"/> when you are finished using the <see cref="T:MailKit.Net.Imap.ImapEngine"/>. The
            <see cref="M:MailKit.Net.Imap.ImapEngine.Dispose"/> method leaves the <see cref="T:MailKit.Net.Imap.ImapEngine"/> in an unusable state. After
            calling <see cref="M:MailKit.Net.Imap.ImapEngine.Dispose"/>, you must release all references to the <see cref="T:MailKit.Net.Imap.ImapEngine"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MailKit.Net.Imap.ImapEngine"/> was occupying.</remarks>
        </member>
        <member name="T:MailKit.Net.Imap.ImapEventGroup">
            <summary>
            An IMAP event group used with the NOTIFY command.
            </summary>
            <remarks>
            An IMAP event group used with the NOTIFY command.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEventGroup.#ctor(MailKit.Net.Imap.ImapMailboxFilter,System.Collections.Generic.IList{MailKit.Net.Imap.ImapEvent})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEventGroup"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEventGroup"/> class.
            </remarks>
            <param name="mailboxFilter">The mailbox filter.</param>
            <param name="events">The list of IMAP events.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mailboxFilter"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="events"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEventGroup.MailboxFilter">
            <summary>
            Get the mailbox filter.
            </summary>
            <remarks>
            Gets the mailbox filter.
            </remarks>
            <value>The mailbox filter.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEventGroup.Events">
            <summary>
            Get the list of IMAP events.
            </summary>
            <remarks>
            Gets the list of IMAP events.
            </remarks>
            <value>The events.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEventGroup.Format(MailKit.Net.Imap.ImapEngine,System.Text.StringBuilder,System.Collections.Generic.IList{System.Object},System.Boolean@)">
            <summary>
            Format the IMAP NOTIFY command for this particular IMAP event group.
            </summary>
            <remarks>
            Formats the IMAP NOTIFY command for this particular IMAP event group.
            </remarks>
            <param name="engine">The IMAP engine.</param>
            <param name="command">The IMAP command builder.</param>
            <param name="args">The IMAP command argument builder.</param>
            <param name="notifySelectedNewExpunge">Gets set to <c>true</c> if the NOTIFY command requests the MessageNew or
            MessageExpunged events for a SELECTED or SELECTED-DELAYED mailbox filter; otherwise it is left unchanged.</param>
        </member>
        <member name="T:MailKit.Net.Imap.ImapMailboxFilter">
            <summary>
            An IMAP mailbox filter for use with the NOTIFY command.
            </summary>
            <remarks>
            An IMAP mailbox filter for use with the NOTIFY command.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapMailboxFilter.Selected">
            <summary>
            An IMAP mailbox filter specifying that the client wants immediate notifications for
            the currently selected folder.
            </summary>
            <remarks>
            The <c>SELECTED</c> mailbox specifier requires the server to send immediate
            notifications for the currently selected mailbox about all specified
            message events.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapMailboxFilter.SelectedDelayed">
            <summary>
            An IMAP mailbox filter specifying the currently selected folder but delays notifications
            until a command has been issued.
            </summary>
            <remarks>
            The <c>SELECTED-DELAYED</c> mailbox specifier requires the server to delay a
            <see cref="F:MailKit.Net.Imap.ImapEvent.MessageExpunge"/> event until the client issues a command that allows
            returning information about expunged messages (see
            <a href="https://tools.ietf.org/html/rfc3501#section-7.4.1">Section 7.4.1 of RFC3501]</a>
            for more details), for example, till a <c>NOOP</c> or an <c>IDLE</c> command has been issued.
            When <c>SELECTED-DELAYED</c> is specified, the server MAY also delay returning other message
            events until the client issues one of the commands specified above, or it MAY return them
            immediately.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapMailboxFilter.Inboxes">
            <summary>
            An IMAP mailbox filter specifying the currently selected folder.
            </summary>
            <remarks>
            <para>The <c>INBOXES</c> mailbox specifier refers to all selectable mailboxes in the user's
            personal namespace(s) to which messages may be delivered by a Message Delivery Agent (MDA).
            </para>
            <para>If the IMAP server cannot easily compute this set, it MUST treat <see cref="F:MailKit.Net.Imap.ImapMailboxFilter.Inboxes"/>
            as equivalent to <see cref="F:MailKit.Net.Imap.ImapMailboxFilter.Personal"/>.</para>
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapMailboxFilter.Personal">
            <summary>
            An IMAP mailbox filter specifying all selectable folders within the user's personal namespace.
            </summary>
            <remarks>
            The <c>PERSONAL</c> mailbox specifier refers to all selectable folders within the user's personal namespace.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapMailboxFilter.Subscribed">
            <summary>
            An IMAP mailbox filter that refers to all subscribed folders.
            </summary>
            <remarks>
            <para>The <c>SUBSCRIBED</c> mailbox specifier refers to all folders subscribed to by the user.</para>
            <para>If the subscription list changes, the server MUST reevaluate the list.</para>
            </remarks>
        </member>
        <member name="T:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes">
            <summary>
            An IMAP mailbox filter that specifies a list of folders to receive notifications about.
            </summary>
            <remarks>
            An IMAP mailbox filter that specifies a list of folders to receive notifications about.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes.#ctor(System.Collections.Generic.IList{MailKit.IMailFolder})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes"/> class.
            </remarks>
            <param name="folders">The list of folders to watch for events.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folders"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The list of <paramref name="folders"/> is empty.</para>
            <para>-or-</para>
            <para>The list of <paramref name="folders"/> contains folders that are not of
            type <see cref="T:MailKit.Net.Imap.ImapFolder"/>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes.#ctor(MailKit.IMailFolder[])">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes"/> class.
            </remarks>
            <param name="folders">The list of folders to watch for events.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folders"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The list of <paramref name="folders"/> is empty.</para>
            <para>-or-</para>
            <para>The list of <paramref name="folders"/> contains folders that are not of
            type <see cref="T:MailKit.Net.Imap.ImapFolder"/>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes.#ctor(System.String,System.Collections.Generic.IList{MailKit.IMailFolder})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes"/> class.
            </remarks>
            <param name="name">The name of the mailbox filter.</param>
            <param name="folders">The list of folders to watch for events.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folders"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The list of <paramref name="folders"/> is empty.</para>
            <para>-or-</para>
            <para>The list of <paramref name="folders"/> contains folders that are not of
            type <see cref="T:MailKit.Net.Imap.ImapFolder"/>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapMailboxFilter.Mailboxes.Format(MailKit.Net.Imap.ImapEngine,System.Text.StringBuilder,System.Collections.Generic.IList{System.Object})">
            <summary>
            Format the IMAP NOTIFY command for this particular IMAP mailbox filter.
            </summary>
            <remarks>
            Formats the IMAP NOTIFY command for this particular IMAP mailbox filter.
            </remarks>
            <param name="engine">The IMAP engine.</param>
            <param name="command">The IMAP command builder.</param>
            <param name="args">The IMAP command argument builder.</param>
        </member>
        <member name="T:MailKit.Net.Imap.ImapMailboxFilter.Subtree">
            <summary>
            An IMAP mailbox filter that specifies a list of folder subtrees to get notifications about.
            </summary>
            <remarks>
            <para>The client will receive notifications for each specified folder plus all selectable
            folders that are subordinate to any of the specified folders.</para>
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapMailboxFilter.Subtree.#ctor(System.Collections.Generic.IList{MailKit.IMailFolder})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Subtree"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Subtree"/> class.
            </remarks>
            <param name="folders">The list of folders to watch for events.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folders"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The list of <paramref name="folders"/> is empty.</para>
            <para>-or-</para>
            <para>The list of <paramref name="folders"/> contains folders that are not of
            type <see cref="T:MailKit.Net.Imap.ImapFolder"/>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapMailboxFilter.Subtree.#ctor(MailKit.IMailFolder[])">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Subtree"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter.Subtree"/> class.
            </remarks>
            <param name="folders">The list of folders to watch for events.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folders"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The list of <paramref name="folders"/> is empty.</para>
            <para>-or-</para>
            <para>The list of <paramref name="folders"/> contains folders that are not of
            type <see cref="T:MailKit.Net.Imap.ImapFolder"/>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapMailboxFilter.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter"/> class.
            </remarks>
            <param name="name">The name of the mailbox filter.</param>
        </member>
        <member name="P:MailKit.Net.Imap.ImapMailboxFilter.Name">
            <summary>
            Get the name of the mailbox filter.
            </summary>
            <remarks>
            Gets the name of the mailbox filter.
            </remarks>
            <value>The name.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapMailboxFilter.Format(MailKit.Net.Imap.ImapEngine,System.Text.StringBuilder,System.Collections.Generic.IList{System.Object})">
            <summary>
            Format the IMAP NOTIFY command for this particular IMAP mailbox filter.
            </summary>
            <remarks>
            Formats the IMAP NOTIFY command for this particular IMAP mailbox filter.
            </remarks>
            <param name="engine">The IMAP engine.</param>
            <param name="command">The IMAP command builder.</param>
            <param name="args">The IMAP command argument builder.</param>
        </member>
        <member name="T:MailKit.Net.Imap.ImapEvent">
            <summary>
            An IMAP notification event.
            </summary>
            <remarks>
            An IMAP notification event.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEvent.MessageExpunge">
            <summary>
            An IMAP event notification for expunged messages.
            </summary>
            <remarks>
            <para>If the expunged message or messages are in the selected mailbox, the server notifies the client
            using <see cref="E:MailKit.IMailFolder.MessageExpunged"/> (or <see cref="E:MailKit.IMailFolder.MessagesVanished"/> if
            the <a href="https://tools.ietf.org/html/rfc5162">QRESYNC</a> extension has been enabled via
            <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/> or
            <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResyncAsync(System.Threading.CancellationToken)"/>).</para>
            <para>If the expunged message or messages are in another mailbox, the <see cref="P:MailKit.IMailFolder.UidNext"/>
            and <see cref="P:MailKit.IMailFolder.Count"/> properties will be updated and the appropriate
            <see cref="E:MailKit.IMailFolder.UidNextChanged"/> and <see cref="E:MailKit.IMailFolder.CountChanged"/> events will be
            emitted for the relevant folder. If the <a href="https://tools.ietf.org/html/rfc5162">QRESYNC</a>
            extension is enabled, the <see cref="P:MailKit.IMailFolder.HighestModSeq"/> property will also be updated and
            the <see cref="E:MailKit.IMailFolder.HighestModSeqChanged"/> event will be emitted.</para>
            <note type="note">if a client requests <see cref="F:MailKit.Net.Imap.ImapEvent.MessageExpunge"/> with the <see cref="F:MailKit.Net.Imap.ImapMailboxFilter.Selected"/>
            mailbox specifier, the meaning of a message index can change at any time, so the client cannot use
            message indexes in commands anymore. The client MUST use API variants that take <see cref="T:MailKit.UniqueId"/> or
            a <see cref="T:System.Collections.Generic.IList`1"/>. The meaning of <c>*</c>* can also change when messages are added or expunged.
            A client wishing to keep using message indexes can either use the <see cref="F:MailKit.Net.Imap.ImapMailboxFilter.SelectedDelayed"/>
            mailbox specifier or can avoid using the <see cref="F:MailKit.Net.Imap.ImapEvent.MessageExpunge"/> event entirely.</note>
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEvent.FlagChange">
            <summary>
            An IMAP event notification for message flag changes.
            </summary>
            <remarks>
            <para>If the <see cref="F:MailKit.Net.Imap.ImapEvent.FlagChange"/> notification arrives for a message located in the currently selected
            folder, then that folder will emit a <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> event as well as a
            <see cref="E:MailKit.IMailFolder.MessageSummaryFetched"/> event with an appropriately populated
            <see cref="T:MailKit.IMessageSummary"/>.</para>
            <para>On the other hand, if the <see cref="F:MailKit.Net.Imap.ImapEvent.FlagChange"/> notification arrives for a message that is not
            located in the currently selected folder, then the events that are emitted will depend on the
            <see cref="T:MailKit.Net.Imap.ImapCapabilities"/> of the IMAP server.</para>
            <para>If the server supports the <see cref="F:MailKit.Net.Imap.ImapCapabilities.CondStore"/> capability (or the
            <see cref="F:MailKit.Net.Imap.ImapCapabilities.QuickResync"/> capability and the client has enabled it via
            <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>), then the
            <see cref="E:MailKit.IMailFolder.HighestModSeqChanged"/> event will be emitted as well as the
            <see cref="E:MailKit.IMailFolder.UidValidityChanged"/> event (if the latter has changed). If the number of
            seen messages has changed, then the <see cref="E:MailKit.IMailFolder.UnreadChanged"/> event may also be emitted.</para>
            <para>If the server does not support either the <see cref="F:MailKit.Net.Imap.ImapCapabilities.CondStore"/> capability nor
            the <see cref="F:MailKit.Net.Imap.ImapCapabilities.QuickResync"/> capability and the client has not enabled the later capability
            via <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>, then the server may choose
            only to notify the client of <see cref="P:MailKit.IMailFolder.UidValidity"/> changes by emitting the
            <see cref="E:MailKit.IMailFolder.UidValidityChanged"/> event.</para>
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEvent.AnnotationChange">
            <summary>
            An IMAP event notification for message annotation changes.
            </summary>
            <remarks>
            Annotations are currently not supported by MailKit.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEvent.MailboxName">
            <summary>
            AN IMAP event notification for folders that have been created, deleted, or renamed.
            </summary>
            <remarks>
            <para>These notifications are sent if an affected mailbox name was created, deleted, or renamed.</para>
            <para>As these notifications are received by the client, the apropriate will be emitted:
            <see cref="E:MailKit.MailStore.FolderCreated"/>, <see cref="E:MailKit.IMailFolder.Deleted"/>, or
            <see cref="E:MailKit.IMailFolder.Renamed"/>, respectively.</para>
            <note type="info">If the server supports <see cref="F:MailKit.Net.Imap.ImapCapabilities.Acl"/>, granting or revocation of the
            <see cref="F:MailKit.AccessRight.LookupFolder"/> right to the current user on the affected folder will also be
            considered folder creation or deletion, respectively. If a folder is created or deleted, the folder itself
            and its direct parent (whether it is an existing folder or not) are considered to be affected.</note>
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEvent.SubscriptionChange">
            <summary>
            An IMAP event notification for folders who have had their subscription status changed.
            </summary>
            <remarks>
            <para>This event requests that the server notifies the client of any subscription changes,
            causing the <see cref="E:MailKit.IMailFolder.Subscribed"/> or <see cref="E:MailKit.IMailFolder.Unsubscribed"/>
            events to be emitted accordingly on the affected <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEvent.MailboxMetadataChange">
            <summary>
            An IMAP event notification for changes to folder metadata.
            </summary>
            <remarks>
            <para>Support for this event type is OPTIONAL unless <see cref="F:MailKit.Net.Imap.ImapCapabilities.Metadata"/> is supported
            by the server, in which case support for this event type is REQUIRED.</para>
            <para>If the server does support this event, then the <see cref="E:MailKit.IMailFolder.MetadataChanged"/> event
            will be emitted whenever metadata changes for any folder included in the <see cref="T:MailKit.Net.Imap.ImapMailboxFilter"/>.</para>
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapEvent.ServerMetadataChange">
            <summary>
            An IMAP event notification for changes to server metadata.
            </summary>
            <remarks>
            <para>Support for this event type is OPTIONAL unless <see cref="F:MailKit.Net.Imap.ImapCapabilities.Metadata"/> is supported
            by the server, in which case support for this event type is REQUIRED.</para>
            <para>If the server does support this event, then the <see cref="E:MailKit.IMailStore.MetadataChanged"/> event
            will be emitted whenever metadata changes.</para>
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEvent.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEvent"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEvent"/> class.
            </remarks>
            <param name="name">The name of the IMAP event.</param>
            <param name="isMessageEvent"><c>true</c> if the event is a message event; otherwise, <c>false</c>.</param>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEvent.IsMessageEvent">
            <summary>
            Get whether or not this <see cref="T:MailKit.Net.Imap.ImapEvent"/> is a message event.
            </summary>
            <remarks>
            Gets whether or not this <see cref="T:MailKit.Net.Imap.ImapEvent"/> is a message event.
            </remarks>
            <value><c>true</c> if is message event; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapEvent.Name">
            <summary>
            Get the name of the IMAP event.
            </summary>
            <remarks>
            Gets the name of the IMAP event.
            </remarks>
            <value>The name of the IMAP event.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEvent.Format(MailKit.Net.Imap.ImapEngine,System.Text.StringBuilder,System.Collections.Generic.IList{System.Object},System.Boolean)">
            <summary>
            Format the IMAP NOTIFY command for this particular IMAP mailbox filter.
            </summary>
            <remarks>
            Formats the IMAP NOTIFY command for this particular IMAP mailbox filter.
            </remarks>
            <param name="engine">The IMAP engine.</param>
            <param name="command">The IMAP command builder.</param>
            <param name="args">The IMAP command argument builder.</param>
            <param name="isSelectedFilter"><c>true</c> if the event is being registered for a
            <see cref="F:MailKit.Net.Imap.ImapMailboxFilter.Selected"/> or <see cref="F:MailKit.Net.Imap.ImapMailboxFilter.SelectedDelayed"/>
            mailbox filter.</param>
        </member>
        <member name="T:MailKit.Net.Imap.ImapEvent.MessageNew">
            <summary>
            An IMAP event notification for new or appended messages.
            </summary>
            <remarks>
            <para>An IMAP event notification for new or appended messages.</para>
            <para>If the new or appended message is in the selected folder, the folder will emit the
            <see cref="E:MailKit.IMailFolder.CountChanged"/> event, followed by a
            <see cref="E:MailKit.IMailFolder.MessageSummaryFetched"/> event containing the information requested by the client.</para>
            <note type="note">These events will not be emitted for any message created by the client on this particular folder
            as a result of, for example, a call to
            <see cref="M:MailKit.IMailFolder.Append(MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>
            or <see cref="M:MailKit.IMailFolder.CopyTo(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)"/>.</note>
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEvent.MessageNew.#ctor(MailKit.MessageSummaryItems)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEvent.MessageNew"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEvent.MessageNew"/> class.
            </remarks>
            <param name="items">The message summary items to automatically retrieve for new messages.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEvent.MessageNew.#ctor(MailKit.MessageSummaryItems,System.Collections.Generic.HashSet{MimeKit.HeaderId})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEvent.MessageNew"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEvent.MessageNew"/> class.
            </remarks>
            <param name="items">The message summary items to automatically retrieve for new messages.</param>
            <param name="headers">Additional message headers to retrieve for new messages.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEvent.MessageNew.#ctor(MailKit.MessageSummaryItems,System.Collections.Generic.HashSet{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEvent.MessageNew"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapEvent.MessageNew"/> class.
            </remarks>
            <param name="items">The message summary items to automatically retrieve for new messages.</param>
            <param name="headers">Additional message headers to retrieve for new messages.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapEvent.MessageNew.Format(MailKit.Net.Imap.ImapEngine,System.Text.StringBuilder,System.Collections.Generic.IList{System.Object},System.Boolean)">
            <summary>
            Format the IMAP NOTIFY command for this particular IMAP mailbox filter.
            </summary>
            <remarks>
            Formats the IMAP NOTIFY command for this particular IMAP mailbox filter.
            </remarks>
            <param name="engine">The IMAP engine.</param>
            <param name="command">The IMAP command builder.</param>
            <param name="args">The IMAP command argument builder.</param>
            <param name="isSelectedFilter"><c>true</c> if the event is being registered for a
            <see cref="F:MailKit.Net.Imap.ImapMailboxFilter.Selected"/> or <see cref="F:MailKit.Net.Imap.ImapMailboxFilter.SelectedDelayed"/>
            mailbox filter.</param>
        </member>
        <member name="T:MailKit.Net.Imap.ImapFolder">
            <summary>
            An IMAP folder.
            </summary>
            <remarks>
            An IMAP folder.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.#ctor(MailKit.Net.Imap.ImapFolderConstructorArgs)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapFolder"/> class.
            </summary>
            <remarks>
            <para>Creates a new <see cref="T:MailKit.Net.Imap.ImapFolder"/>.</para>
            <para>If you subclass <see cref="T:MailKit.Net.Imap.ImapFolder"/>, you will also need to subclass
            <see cref="T:MailKit.Net.Imap.ImapClient"/> and override the
            <see cref="M:MailKit.Net.Imap.ImapClient.CreateImapFolder(MailKit.Net.Imap.ImapFolderConstructorArgs)"/>
            method in order to return a new instance of your ImapFolder subclass.</para>
            </remarks>
            <param name="args">The constructor arguments.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="args"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.Net.Imap.ImapFolder.Engine">
            <summary>
            Get the IMAP command engine.
            </summary>
            <remarks>
            Gets the IMAP command engine.
            </remarks>
            <value>The engine.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapFolder.EncodedName">
            <summary>
            Get the encoded name of the folder.
            </summary>
            <remarks>
            Gets the encoded name of the folder.
            </remarks>
            <value>The encoded name.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapFolder.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the IMAP server.
            </summary>
            <remarks>
            <para>Gets an object that can be used to synchronize access to the IMAP server.</para>
            <para>When using the non-Async methods from multiple threads, it is important to lock the
            <see cref="P:MailKit.Net.Imap.ImapFolder.SyncRoot"/> object for thread safety when using the synchronous methods.</para>
            </remarks>
            <value>The lock object.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.OnParentFolderRenamed">
            <summary>
            Notifies the folder that a parent folder has been renamed.
            </summary>
            <remarks>
            Updates the <see cref="P:MailKit.MailFolder.FullName"/> property.
            </remarks>
        </member>
        <member name="P:MailKit.Net.Imap.ImapFolder.IsOpen">
            <summary>
            Gets a value indicating whether the folder is currently open.
            </summary>
            <remarks>
            Gets a value indicating whether the folder is currently open.
            </remarks>
            <value><c>true</c> if the folder is currently open; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Open the folder using the requested folder access.
            </summary>
            <remarks>
            <para>This variant of the <see cref="M:MailKit.Net.Imap.ImapFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)"/>
            method is meant for quick resynchronization of the folder. Before calling this method,
            the <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/> method MUST be called.</para>
            <para>You should also make sure to add listeners to the <see cref="E:MailKit.MailFolder.MessagesVanished"/> and
            <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events to get notifications of changes since
            the last time the folder was opened.</para>
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="uidValidity">The last known <see cref="P:MailKit.MailFolder.UidValidity"/> value.</param>
            <param name="highestModSeq">The last known <see cref="P:MailKit.MailFolder.HighestModSeq"/> value.</param>
            <param name="uids">The last known list of unique message identifiers.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="access"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The QRESYNC feature has not been enabled.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the QRESYNC extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.OpenAsync(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously open the folder using the requested folder access.
            </summary>
            <remarks>
            <para>This variant of the <see cref="M:MailKit.Net.Imap.ImapFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)"/>
            method is meant for quick resynchronization of the folder. Before calling this method,
            the <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/> method MUST be called.</para>
            <para>You should also make sure to add listeners to the <see cref="E:MailKit.MailFolder.MessagesVanished"/> and
            <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events to get notifications of changes since
            the last time the folder was opened.</para>
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="uidValidity">The last known <see cref="P:MailKit.MailFolder.UidValidity"/> value.</param>
            <param name="highestModSeq">The last known <see cref="P:MailKit.MailFolder.HighestModSeq"/> value.</param>
            <param name="uids">The last known list of unique message identifiers.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="access"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The QRESYNC feature has not been enabled.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the QRESYNC extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)">
            <summary>
            Open the folder using the requested folder access.
            </summary>
            <remarks>
            Opens the folder using the requested folder access.
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="access"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.OpenAsync(MailKit.FolderAccess,System.Threading.CancellationToken)">
            <summary>
            Asynchronously open the folder using the requested folder access.
            </summary>
            <remarks>
            Opens the folder using the requested folder access.
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="access"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Close(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Close the folder, optionally expunging the messages marked for deletion.
            </summary>
            <remarks>
            Closes the folder, optionally expunging the messages marked for deletion.
            </remarks>
            <param name="expunge">If set to <c>true</c>, expunge.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CloseAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously close the folder, optionally expunging the messages marked for deletion.
            </summary>
            <remarks>
            Closes the folder, optionally expunging the messages marked for deletion.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="expunge">If set to <c>true</c>, expunge.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Create(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="isMessageFolder"><c>true</c> if the folder will be used to contain messages; otherwise <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CreateAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="isMessageFolder"><c>true</c> if the folder will be used to contain messages; otherwise <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Create(System.String,System.Collections.Generic.IEnumerable{MailKit.SpecialFolder},System.Threading.CancellationToken)">
            <summary>
            Create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUses">A list of special uses for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="specialUses"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the CREATE-SPECIAL-USE extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CreateAsync(System.String,System.Collections.Generic.IEnumerable{MailKit.SpecialFolder},System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUses">A list of special uses for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="specialUses"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the CREATE-SPECIAL-USE extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Rename(MailKit.IMailFolder,System.String,System.Threading.CancellationToken)">
            <summary>
            Rename the folder to exist with a new name under a new parent folder.
            </summary>
            <remarks>
            Renames the folder to exist with a new name under a new parent folder.
            </remarks>
            <param name="parent">The new parent folder.</param>
            <param name="name">The new name of the folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="parent"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="parent"/> does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is not a legal folder name.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The folder cannot be renamed (it is either a namespace or the Inbox).
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RenameAsync(MailKit.IMailFolder,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously rename the folder to exist with a new name under a new parent folder.
            </summary>
            <remarks>
            Renames the folder to exist with a new name under a new parent folder.
            </remarks>
            <param name="parent">The new parent folder.</param>
            <param name="name">The new name of the folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="parent"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="parent"/> does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is not a legal folder name.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The folder cannot be renamed (it is either a namespace or the Inbox).
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Delete(System.Threading.CancellationToken)">
            <summary>
            Delete the folder on the IMAP server.
            </summary>
            <remarks>
            <para>Deletes the folder on the IMAP server.</para>
            <note type="note">This method will not delete any child folders.</note>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The folder cannot be deleted (it is either a namespace or the Inbox).
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.DeleteAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously delete the folder on the IMAP server.
            </summary>
            <remarks>
            <para>Deletes the folder on the IMAP server.</para>
            <note type="note">This method will not delete any child folders.</note>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The folder cannot be deleted (it is either a namespace or the Inbox).
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Subscribe(System.Threading.CancellationToken)">
            <summary>
            Subscribe the folder.
            </summary>
            <remarks>
            Subscribes the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SubscribeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously subscribe the folder.
            </summary>
            <remarks>
            Subscribes the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Unsubscribe(System.Threading.CancellationToken)">
            <summary>
            Unsubscribe the folder.
            </summary>
            <remarks>
            Unsubscribes the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.UnsubscribeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously unsubscribe the folder.
            </summary>
            <remarks>
            Unsubscribes the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetSubfolders(MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get the subfolders.
            </summary>
            <remarks>
            Gets the subfolders.
            </remarks>
            <returns>The subfolders.</returns>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetSubfoldersAsync(MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the subfolders.
            </summary>
            <remarks>
            Gets the subfolders.
            </remarks>
            <returns>The subfolders.</returns>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetSubfolder(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the specified subfolder.
            </summary>
            <remarks>
            Gets the specified subfolder.
            </remarks>
            <returns>The subfolder.</returns>
            <param name="name">The name of the subfolder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is either an empty string or contains the <see cref="P:MailKit.MailFolder.DirectorySeparator"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The requested folder could not be found.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetSubfolderAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the specified subfolder.
            </summary>
            <remarks>
            Gets the specified subfolder.
            </remarks>
            <returns>The subfolder.</returns>
            <param name="name">The name of the subfolder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is either an empty string or contains the <see cref="P:MailKit.MailFolder.DirectorySeparator"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The requested folder could not be found.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Check(System.Threading.CancellationToken)">
            <summary>
            Force the server to sync its in-memory state with its disk state.
            </summary>
            <remarks>
            <para>The <c>CHECK</c> command forces the IMAP server to sync its
            in-memory state with its disk state.</para>
            <para>For more information about the <c>CHECK</c> command, see
            <a href="https://tools.ietf.org/html/rfc3501#section-6.4.1">rfc350101</a>.</para>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CheckAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously force the server to sync its in-memory state with its disk state.
            </summary>
            <remarks>
            <para>The <c>CHECK</c> command forces the IMAP server to sync its
            in-memory state with its disk state.</para>
            <para>For more information about the <c>CHECK</c> command, see
            <a href="https://tools.ietf.org/html/rfc3501#section-6.4.1">rfc350101</a>.</para>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)">
            <summary>
            Update the values of the specified items.
            </summary>
            <remarks>
            <para>Updates the values of the specified items.</para>
            <para>The <see cref="M:MailKit.Net.Imap.ImapFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/> method
            MUST NOT be used on a folder that is already in the opened state. Instead, other ways
            of getting the desired information should be used.</para>
            <para>For example, a common use for the <see cref="M:MailKit.Net.Imap.ImapFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            method is to get the number of unread messages in the folder. When the folder is open, however, it is
            possible to use the <see cref="M:MailKit.Net.Imap.ImapFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)"/>
            method to query for the list of unread messages.</para>
            <para>For more information about the <c>STATUS</c> command, see
            <a href="https://tools.ietf.org/html/rfc3501#section-6.3.10">rfc3501</a>.</para>
            </remarks>
            <param name="items">The items to update.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the STATUS command.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.StatusAsync(MailKit.StatusItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously update the values of the specified items.
            </summary>
            <remarks>
            <para>Updates the values of the specified items.</para>
            <para>The <see cref="M:MailKit.Net.Imap.ImapFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/> method
            MUST NOT be used on a folder that is already in the opened state. Instead, other ways
            of getting the desired information should be used.</para>
            <para>For example, a common use for the <see cref="M:MailKit.Net.Imap.ImapFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            method is to get the number of unread messages in the folder. When the folder is open, however, it is
            possible to use the <see cref="M:MailKit.Net.Imap.ImapFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)"/>
            method to query for the list of unread messages.</para>
            <para>For more information about the <c>STATUS</c> command, see
            <a href="https://tools.ietf.org/html/rfc3501#section-6.3.10">rfc3501</a>.</para>
            </remarks>
            <param name="items">The items to update.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the STATUS command.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetAccessControlList(System.Threading.CancellationToken)">
            <summary>
            Get the complete access control list for the folder.
            </summary>
            <remarks>
            Gets the complete access control list for the folder.
            </remarks>
            <returns>The access control list.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetAccessControlListAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the complete access control list for the folder.
            </summary>
            <remarks>
            Gets the complete access control list for the folder.
            </remarks>
            <returns>The access control list.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetAccessRights(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the access rights for a particular identifier.
            </summary>
            <remarks>
            Gets the access rights for a particular identifier.
            </remarks>
            <returns>The access rights.</returns>
            <param name="name">The identifier name.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetAccessRightsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the access rights for a particular identifier.
            </summary>
            <remarks>
            Gets the access rights for a particular identifier.
            </remarks>
            <returns>The access rights.</returns>
            <param name="name">The identifier name.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMyAccessRights(System.Threading.CancellationToken)">
            <summary>
            Get the access rights for the current authenticated user.
            </summary>
            <remarks>
            Gets the access rights for the current authenticated user.
            </remarks>
            <returns>The access rights.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMyAccessRightsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the access rights for the current authenticated user.
            </summary>
            <remarks>
            Gets the access rights for the current authenticated user.
            </remarks>
            <returns>The access rights.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Add access rights for the specified identity.
            </summary>
            <remarks>
            Adds the given access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            No rights were specified.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add access rights for the specified identity.
            </summary>
            <remarks>
            Adds the given access rights for the specified identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            No rights were specified.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Remove access rights for the specified identity.
            </summary>
            <remarks>
            Removes the given access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            No rights were specified.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove access rights for the specified identity.
            </summary>
            <remarks>
            Removes the given access rights for the specified identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            No rights were specified.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Set the access rights for the specified identity.
            </summary>
            <remarks>
            Sets the access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the access rights for the specified identity.
            </summary>
            <remarks>
            Sets the access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveAccess(System.String,System.Threading.CancellationToken)">
            <summary>
            Remove all access rights for the given identity.
            </summary>
            <remarks>
            Removes all access rights for the given identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveAccessAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove all access rights for the given identity.
            </summary>
            <remarks>
            Removes all access rights for the given identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMetadata(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Get the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMetadataAsync(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMetadata(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Get the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="tags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMetadataAsync(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="tags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetMetadata(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Set the specified metadata.
            </summary>
            <remarks>
            Sets the specified metadata.
            </remarks>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetMetadataAsync(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the specified metadata.
            </summary>
            <remarks>
            Sets the specified metadata.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the METADATA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetQuota(System.Threading.CancellationToken)">
            <summary>
            Get the quota information for the folder.
            </summary>
            <remarks>
            <para>Gets the quota information for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.Net.Imap.ImapClient.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The folder quota.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the QUOTA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetQuotaAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the quota information for the folder.
            </summary>
            <remarks>
            <para>Gets the quota information for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.Net.Imap.ImapClient.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The folder quota.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the QUOTA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetQuota(System.Nullable{System.UInt32},System.Nullable{System.UInt32},System.Threading.CancellationToken)">
            <summary>
            Set the quota limits for the folder.
            </summary>
            <remarks>
            <para>Sets the quota limits for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.Net.Imap.ImapClient.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The folder quota.</returns>
            <param name="messageLimit">If not <c>null</c>, sets the maximum number of messages to allow.</param>
            <param name="storageLimit">If not <c>null</c>, sets the maximum storage size (in kilobytes).</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the QUOTA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetQuotaAsync(System.Nullable{System.UInt32},System.Nullable{System.UInt32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the quota limits for the folder.
            </summary>
            <remarks>
            <para>Sets the quota limits for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.Net.Imap.ImapClient.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The folder quota.</returns>
            <param name="messageLimit">If not <c>null</c>, sets the maximum number of messages to allow.</param>
            <param name="storageLimit">If not <c>null</c>, sets the maximum storage size (in kilobytes).</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the QUOTA extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Expunge(System.Threading.CancellationToken)">
            <summary>
            Expunge the folder, permanently removing all messages marked for deletion.
            </summary>
            <remarks>
            <para>The <c>EXPUNGE</c> command permanently removes all messages in the folder
            that have the <see cref="F:MailKit.MessageFlags.Deleted"/> flag set.</para>
            <para>For more information about the <c>EXPUNGE</c> command, see
            <a href="https://tools.ietf.org/html/rfc3501#section-6.4.3">rfc3501</a>.</para>
            <note type="note">Normally, a <see cref="E:MailKit.MailFolder.MessageExpunged"/> event will be emitted
            for each message that is expunged. However, if the IMAP server supports the QRESYNC extension
            and it has been enabled via the <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>
            method, then the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event will be emitted rather than
            the <see cref="E:MailKit.MailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.ExpungeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously expunge the folder, permanently removing all messages marked for deletion.
            </summary>
            <remarks>
            <para>The <c>EXPUNGE</c> command permanently removes all messages in the folder
            that have the <see cref="F:MailKit.MessageFlags.Deleted"/> flag set.</para>
            <para>For more information about the <c>EXPUNGE</c> command, see
            <a href="https://tools.ietf.org/html/rfc3501#section-6.4.3">rfc3501</a>.</para>
            <note type="note">Normally, a <see cref="E:MailKit.MailFolder.MessageExpunged"/> event will be emitted
            for each message that is expunged. However, if the IMAP server supports the QRESYNC extension
            and it has been enabled via the <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>
            method, then the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event will be emitted rather than
            the <see cref="E:MailKit.MailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Expunge(System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Expunge the specified uids, permanently removing them from the folder.
            </summary>
            <remarks>
            <para>Expunges the specified uids, permanently removing them from the folder.</para>
            <para>If the IMAP server supports the UIDPLUS extension (check the
            <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/> for the <see cref="F:MailKit.Net.Imap.ImapCapabilities.UidPlus"/>
            flag), then this operation is atomic. Otherwise, MailKit implements this operation
            by first searching for the full list of message uids in the folder that are marked for
            deletion, unmarking the set of message uids that are not within the specified list of
            uids to be be expunged, expunging the folder (thus expunging the requested uids), and
            finally restoring the deleted flag on the collection of message uids that were originally
            marked for deletion that were not included in the list of uids provided. For this reason,
            it is advisable for clients that wish to maintain state to implement this themselves when
            the IMAP server does not support the UIDPLUS extension.</para>
            <para>For more information about the <c>UID EXPUNGE</c> command, see
            <a href="https://tools.ietf.org/html/rfc4315#section-2.1">rfc4315</a>.</para>
            <note type="note">Normally, a <see cref="E:MailKit.MailFolder.MessageExpunged"/> event will be emitted
            for each message that is expunged. However, if the IMAP server supports the QRESYNC extension
            and it has been enabled via the <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>
            method, then the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event will be emitted rather than
            the <see cref="E:MailKit.MailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <param name="uids">The message uids.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.ExpungeAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously expunge the specified uids, permanently removing them from the folder.
            </summary>
            <remarks>
            <para>Expunges the specified uids, permanently removing them from the folder.</para>
            <para>If the IMAP server supports the UIDPLUS extension (check the
            <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/> for the <see cref="F:MailKit.Net.Imap.ImapCapabilities.UidPlus"/>
            flag), then this operation is atomic. Otherwise, MailKit implements this operation
            by first searching for the full list of message uids in the folder that are marked for
            deletion, unmarking the set of message uids that are not within the specified list of
            uids to be be expunged, expunging the folder (thus expunging the requested uids), and
            finally restoring the deleted flag on the collection of message uids that were originally
            marked for deletion that were not included in the list of uids provided. For this reason,
            it is advisable for clients that wish to maintain state to implement this themselves when
            the IMAP server does not support the UIDPLUS extension.</para>
            <para>For more information about the <c>UID EXPUNGE</c> command, see
            <a href="https://tools.ietf.org/html/rfc4315#section-2.1">rfc4315</a>.</para>
            <note type="note">Normally, a <see cref="E:MailKit.MailFolder.MessageExpunged"/> event will be emitted
            for each message that is expunged. However, if the IMAP server supports the QRESYNC extension
            and it has been enabled via the <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>
            method, then the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event will be emitted rather than
            the <see cref="E:MailKit.MailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The message uids.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Append(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AppendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Append(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AppendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Append(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages does not match the number of flags.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AppendAsync(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages does not match the number of flags.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Append(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="dates"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages, flags, and dates do not match.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AppendAsync(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="dates"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages, flags, and dates do not match.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CopyTo(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Copies the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            <paramref name="destination"/> does not exist.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CopyToAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Copies the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            <paramref name="destination"/> does not exist.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.MoveTo(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified messages to the destination folder.
            </summary>
            <remarks>
            <para>Moves the specified messages to the destination folder.</para>
            <para>If the IMAP server supports the MOVE extension (check the <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/>
            property for the <see cref="F:MailKit.Net.Imap.ImapCapabilities.Move"/> flag), then this operation will be atomic.
            Otherwise, MailKit implements this by first copying the messages to the destination folder, then
            marking them for deletion in the originating folder, and finally expunging them (see
            <see cref="M:MailKit.Net.Imap.ImapFolder.Expunge(System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)"/> for more information about how a
            subset of messages are expunged). Since the server could disconnect at any point between those 3
            (or more) commands, it is advisable for clients to implement their own logic for moving messages when
            the IMAP server does not support the MOVE command in order to better handle spontanious server
            disconnects and other error conditions.</para>
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            <paramref name="destination"/> does not exist.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.MoveToAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified messages to the destination folder.
            </summary>
            <remarks>
            <para>Moves the specified messages to the destination folder.</para>
            <para>If the IMAP server supports the MOVE extension (check the <see cref="P:MailKit.Net.Imap.ImapClient.Capabilities"/>
            property for the <see cref="F:MailKit.Net.Imap.ImapCapabilities.Move"/> flag), then this operation will be atomic.
            Otherwise, MailKit implements this by first copying the messages to the destination folder, then
            marking them for deletion in the originating folder, and finally expunging them (see
            <see cref="M:MailKit.Net.Imap.ImapFolder.Expunge(System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)"/> for more information about how a
            subset of messages are expunged). Since the server could disconnect at any point between those 3
            (or more) commands, it is advisable for clients to implement their own logic for moving messages when
            the IMAP server does not support the MOVE command in order to better handle spontanious server
            disconnects and other error conditions.</para>
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            <paramref name="destination"/> does not exist.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CopyTo(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Copies the specified messages to the destination folder.
            </remarks>
            <param name="indexes">The indexes of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            <paramref name="destination"/> does not exist.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CopyToAsync(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Copies the specified messages to the destination folder.
            </remarks>
            <param name="indexes">The indexes of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            <paramref name="destination"/> does not exist.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.MoveTo(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified messages to the destination folder.
            </summary>
            <remarks>
            <para>If the IMAP server supports the MOVE command, then the MOVE command will be used. Otherwise,
            the messages will first be copied to the destination folder and then marked as \Deleted in the
            originating folder. Since the server could disconnect at any point between those 2 operations, it
            may be advisable to implement your own logic for moving messages in this case in order to better
            handle spontanious server disconnects and other error conditions.</para>
            </remarks>
            <param name="indexes">The indexes of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            <paramref name="destination"/> does not exist.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.MoveToAsync(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified messages to the destination folder.
            </summary>
            <remarks>
            <para>If the IMAP server supports the MOVE command, then the MOVE command will be used. Otherwise,
            the messages will first be copied to the destination folder and then marked as \Deleted in the
            originating folder. Since the server could disconnect at any point between those 2 operations, it
            may be advisable to implement your own logic for moving messages in this case in order to better
            handle spontanious server disconnects and other error conditions.</para>
            </remarks>
            <param name="indexes">The indexes of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.Net.Imap.ImapClient"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            <paramref name="destination"/> does not exist.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetEnumerator">
            <summary>
            Get an enumerator for the messages in the folder.
            </summary>
            <remarks>
            Gets an enumerator for the messages in the folder.
            </remarks>
            <returns>The enumerator.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the IMAP server supports the QRESYNC extension and the application has
            enabled this feature via <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages
            that have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the IMAP server supports the QRESYNC extension and the application has
            enabled this feature via <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages
            that have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the IMAP server supports the QRESYNC extension and the application has
            enabled this feature via <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages
            that have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the IMAP server supports the QRESYNC extension and the application has
            enabled this feature via <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages
            that have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the IMAP server supports the QRESYNC extension and the application has
            enabled this feature via <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages
            that have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the IMAP server supports the QRESYNC extension and the application has
            enabled this feature via <see cref="M:MailKit.Net.Imap.ImapClient.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages
            that have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="items"/> is empty.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="items"/> is empty.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the specified <paramref name="headers"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the specified <paramref name="headers"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="items"/> is empty.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="items"/> is empty.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetches the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the specified <paramref name="headers"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetches the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the IMAP server may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the specified <paramref name="headers"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CreateStream(System.Nullable{MailKit.UniqueId},System.String,System.Int32,System.Int32)">
            <summary>
            Create a backing stream for use with the GetMessage, GetBodyPart, and GetStream methods.
            </summary>
            <remarks>
            <para>Allows subclass implementations to override the type of stream
            created for use with the GetMessage, GetBodyPart and GetStream methods.</para>
            <para>This could be useful for subclass implementations that intend to implement
            support for caching and/or for subclass implementations that want to use
            temporary file streams instead of memory-based streams for larger amounts of
            message data.</para>
            <para>Subclasses that implement caching using this API should wait for
            <see cref="M:MailKit.Net.Imap.ImapFolder.CommitStream(System.IO.Stream,MailKit.UniqueId,System.String,System.Int32,System.Int32)"/> before adding the stream to their cache.</para>
            <para>Streams returned by this method SHOULD clean up any allocated resources
            such as deleting temporary files from the file system.</para>
            <note type="note">The <paramref name="uid"/> will not be available for the various
            GetMessage(), GetBodyPart() and GetStream() methods that take a message index rather
            than a <see cref="T:MailKit.UniqueId"/>. It may also not be available if the IMAP server
            response does not specify the <c>UID</c> value prior to sending the <c>literal-string</c>
            token containing the message stream.</note>
            </remarks>
            <seealso cref="M:MailKit.Net.Imap.ImapFolder.CommitStream(System.IO.Stream,MailKit.UniqueId,System.String,System.Int32,System.Int32)"/>
            <returns>The stream.</returns>
            <param name="uid">The unique identifier of the message, if available.</param>
            <param name="section">The section of the message that is being fetched.</param>
            <param name="offset">The starting offset of the message section being fetched.</param>
            <param name="length">The length of the stream being fetched, measured in bytes.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.CommitStream(System.IO.Stream,MailKit.UniqueId,System.String,System.Int32,System.Int32)">
            <summary>
            Commit a stream returned by <see cref="M:MailKit.Net.Imap.ImapFolder.CreateStream(System.Nullable{MailKit.UniqueId},System.String,System.Int32,System.Int32)"/>.
            </summary>
            <remarks>
            <para>Commits a stream returned by <see cref="M:MailKit.Net.Imap.ImapFolder.CreateStream(System.Nullable{MailKit.UniqueId},System.String,System.Int32,System.Int32)"/>.</para>
            <para>This method is called only after both the message data has successfully
            been written to the stream returned by <see cref="M:MailKit.Net.Imap.ImapFolder.CreateStream(System.Nullable{MailKit.UniqueId},System.String,System.Int32,System.Int32)"/> and a
            <see cref="T:MailKit.UniqueId"/> has been obtained for the associated message.</para>
            <para>For subclasses implementing caching, this method should be used for
            committing the stream to their cache.</para>
            <note type="note">Subclass implementations may take advantage of the fact that
            <see cref="M:MailKit.Net.Imap.ImapFolder.CommitStream(System.IO.Stream,MailKit.UniqueId,System.String,System.Int32,System.Int32)"/> allows returning a new <see cref="T:System.IO.Stream"/>
            reference if they move a file on the file system and wish to return a new
            <see cref="T:System.IO.FileStream"/> based on the new path, for example.</note>
            </remarks>
            <seealso cref="M:MailKit.Net.Imap.ImapFolder.CreateStream(System.Nullable{MailKit.UniqueId},System.String,System.Int32,System.Int32)"/>
            <returns>The stream.</returns>
            <param name="stream">The stream.</param>
            <param name="uid">The unique identifier of the message.</param>
            <param name="section">The section of the message that the stream represents.</param>
            <param name="offset">The starting offset of the message section.</param>
            <param name="length">The length of the stream, measured in bytes.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeaders(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message headers.
            </summary>
            <remarks>
            Gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeadersAsync(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message headers.
            </summary>
            <remarks>
            Gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeaders(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="partSpecifier">The body part specifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="partSpecifier"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeadersAsync(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="partSpecifier">The body part specifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="partSpecifier"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeaders(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeadersAsync(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeaders(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message headers.
            </summary>
            <remarks>
            Gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeadersAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message headers.
            </summary>
            <remarks>
            Gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeaders(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="partSpecifier">The body part specifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="partSpecifier"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeadersAsync(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="partSpecifier">The body part specifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="partSpecifier"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeaders(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetHeadersAsync(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message.
            </summary>
            <remarks>
            Gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMessageAsync(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message.
            </summary>
            <remarks>
            Gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message.
            </summary>
            <remarks>
            Gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetMessageAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message.
            </summary>
            <remarks>
            Gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetBodyPart(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="partSpecifier">The body part specifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="partSpecifier"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message body.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetBodyPartAsync(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="partSpecifier">The body part specifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="partSpecifier"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message body.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetBodyPart(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <returns>The body part.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message body.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetBodyPartAsync(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <returns>The body part.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message body.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetBodyPart(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="index">The index of the message.</param>
            <param name="partSpecifier">The body part specifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="partSpecifier"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetBodyPartAsync(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="index">The index of the message.</param>
            <param name="partSpecifier">The body part specifier.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="partSpecifier"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetBodyPart(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetBodyPartAsync(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStream(MailKit.UniqueId,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            Fetches a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamAsync(MailKit.UniqueId,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously gets a substream of the specified message.
            </summary>
            <remarks>
            Fetches a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStream(System.Int32,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            Fetches a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamAsync(System.Int32,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously gets a substream of the specified message.
            </summary>
            <remarks>
            Fetches a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStream(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified body part.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamAsync(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously gets a substream of the specified body part.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStream(MailKit.UniqueId,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message. If the starting offset is beyond
            the end of the specified section of the message, an empty stream is returned. If
            the number of bytes desired extends beyond the end of the section, a truncated
            stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamAsync(MailKit.UniqueId,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously gets a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message. If the starting offset is beyond
            the end of the specified section of the message, an empty stream is returned. If
            the number of bytes desired extends beyond the end of the section, a truncated
            stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStream(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamAsync(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously gets a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStream(System.Int32,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message. If the starting offset is beyond
            the end of the specified section of the message, an empty stream is returned. If
            the number of bytes desired extends beyond the end of the section, a truncated
            stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamAsync(System.Int32,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously gets a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message. If the starting offset is beyond
            the end of the specified section of the message, an empty stream is returned. If
            the number of bytes desired extends beyond the end of the section, a truncated
            stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The IMAP server did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreams(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Net.Imap.ImapFetchStreamCallback,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the streams for the specified messages.
            </summary>
            <remarks>
            <para>Gets the streams for the specified messages.</para>
            </remarks>
            <param name="uids">The uids of the messages.</param>
            <param name="callback"></param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="callback"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Net.Imap.ImapFetchStreamCallback,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the streams for the specified messages.
            </summary>
            <remarks>
            <para>Asynchronously gets the streams for the specified messages.</para>
            </remarks>
            <param name="uids">The uids of the messages.</param>
            <param name="callback"></param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="callback"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreams(System.Collections.Generic.IList{System.Int32},MailKit.Net.Imap.ImapFetchStreamCallback,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the streams for the specified messages.
            </summary>
            <remarks>
            <para>Gets the streams for the specified messages.</para>
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="callback"></param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="callback"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamsAsync(System.Collections.Generic.IList{System.Int32},MailKit.Net.Imap.ImapFetchStreamCallback,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the streams for the specified messages.
            </summary>
            <remarks>
            <para>Asynchronously gets the streams for the specified messages.</para>
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="callback"></param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="callback"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreams(System.Int32,System.Int32,MailKit.Net.Imap.ImapFetchStreamCallback,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the streams for the specified messages.
            </summary>
            <remarks>
            <para>Gets the streams for the specified messages.</para>
            </remarks>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="callback"></param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="callback"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.GetStreamsAsync(System.Int32,System.Int32,MailKit.Net.Imap.ImapFetchStreamCallback,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the streams for the specified messages.
            </summary>
            <remarks>
            <para>Asynchronously gets the streams for the specified messages.</para>
            </remarks>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="callback"></param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="callback"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Adds a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously adds a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Removes a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously removes a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Sets the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Adds a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously adds a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Removes a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously removes a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Sets the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages.
            </summary>
            <remarks>
            Sets the labels of the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages.
            </summary>
            <remarks>
            Sets the labels of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Sets the labels of the specified messages.
            </summary>
            <remarks>
            Sets the labels of the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the labels of the specified messages.
            </summary>
            <remarks>
            Sets the labels of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.AddLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.RemoveLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SetLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Search(System.String,System.Threading.CancellationToken)">
            <summary>
            Search the folder for messages matching the specified query.
            </summary>
            <remarks>
            Sends a <c>UID SEARCH</c> command with the specified query passed directly to the IMAP server
            with no interpretation by MailKit. This means that the query may contain any arguments that a
            <c>UID SEARCH</c> command is allowed to have according to the IMAP specifications and any
            extensions that are supported, including <c>RETURN</c> parameters.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="query"/> is an empty string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SearchAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the folder for messages matching the specified query.
            </summary>
            <remarks>
            Sends a <c>UID SEARCH</c> command with the specified query passed directly to the IMAP server
            with no interpretation by MailKit. This means that the query may contain any arguments that a
            <c>UID SEARCH</c> command is allowed to have according to the IMAP specifications and any
            extensions that are supported, including <c>RETURN</c> parameters.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="query"/> is an empty string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SearchAsync(MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Search(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the folder for messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The IMAP server does not support the ESEARCH extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SearchAsync(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the folder for messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The IMAP server does not support the ESEARCH extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Sort(System.String,System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            Sends a <c>UID SORT</c> command with the specified query passed directly to the IMAP server
            with no interpretation by MailKit. This means that the query may contain any arguments that a
            <c>UID SORT</c> command is allowed to have according to the IMAP specifications and any
            extensions that are supported, including <c>RETURN</c> parameters.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="query"/> is an empty string.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the SORT extension.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SortAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            Sends a <c>UID SORT</c> command with the specified query passed directly to the IMAP server
            with no interpretation by MailKit. This means that the query may contain any arguments that a
            <c>UID SORT</c> command is allowed to have according to the IMAP specifications and any
            extensions that are supported, including <c>RETURN</c> parameters.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="query"/> is an empty string.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The IMAP server does not support the SORT extension.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Sort(MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="orderBy"/> is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The server does not support the SORT extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SortAsync(MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="orderBy"/> is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The server does not support the SORT extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Sort(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query, returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="orderBy"/> is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The IMAP server does not support the ESORT extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.SortAsync(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query, returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="orderBy"/> is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The IMAP server does not support the ESORT extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Thread(MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not supported.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The server does not support the THREAD extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.ThreadAsync(MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not supported.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The server does not support the THREAD extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.Thread(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not supported.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The server does not support the THREAD extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolder.ThreadAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not supported.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported by the IMAP server.</para>
            <para>-or-</para>
            <para>The server does not support the THREAD extension.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Imap.ImapClient"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.Net.Imap.ImapFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.Net.Imap.ImapCommandException">
            The server replied with a NO or BAD response.
            </exception>
        </member>
        <member name="T:MailKit.Net.Imap.ImapFolderConstructorArgs">
            <summary>
            Constructor arguments for <see cref="T:MailKit.Net.Imap.ImapFolder"/>.
            </summary>
            <remarks>
            Constructor arguments for <see cref="T:MailKit.Net.Imap.ImapFolder"/>.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapFolderConstructorArgs.#ctor(MailKit.Net.Imap.ImapEngine,System.String,MailKit.FolderAttributes,System.Char)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapFolderConstructorArgs"/> class.
            </summary>
            <param name="engine">The IMAP command engine.</param>
            <param name="encodedName">The encoded name.</param>
            <param name="attributes">The attributes.</param>
            <param name="delim">The directory separator.</param>
        </member>
        <member name="P:MailKit.Net.Imap.ImapFolderConstructorArgs.Attributes">
            <summary>
            Get the folder attributes.
            </summary>
            <remarks>
            Gets the folder attributes.
            </remarks>
            <value>The folder attributes.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapFolderConstructorArgs.DirectorySeparator">
            <summary>
            Get the directory separator.
            </summary>
            <remarks>
            Gets the directory separator.
            </remarks>
            <value>The directory separator.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapFolderConstructorArgs.FullName">
            <summary>
            Get the full name of the folder.
            </summary>
            <remarks>
            This is the equivalent of the full path of a file on a file system.
            </remarks>
            <value>The full name of the folder.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapFolderConstructorArgs.Name">
            <summary>
            Get the name of the folder.
            </summary>
            <remarks>
            This is the equivalent of the file name of a file on the file system.
            </remarks>
            <value>The name of the folder.</value>
        </member>
        <member name="T:MailKit.Net.Imap.ImapImplementation">
            <summary>
            The details of an IMAP client or server implementation.
            </summary>
            <remarks>
            Allows an IMAP client and server to share their implementation details
            with each other for the purposes of debugging.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Imap.ImapImplementation.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapImplementation"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapImplementation"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.Properties">
            <summary>
            Get the identification properties.
            </summary>
            <remarks>
            Gets the dictionary of raw identification properties.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The properties.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.Name">
            <summary>
            Get or set the name of the program.
            </summary>
            <remarks>
            Gets or sets the name of the program.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The program name.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.Version">
            <summary>
            Get or set the version of the program.
            </summary>
            <remarks>
            Gets or sets the version of the program.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The program version.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.OS">
            <summary>
            Get or set the name of the operating system.
            </summary>
            <remarks>
            Gets or sets the name of the operating system.
            </remarks>
            <value>The name of the operation system.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.OSVersion">
            <summary>
            Get or set the version of the operating system.
            </summary>
            <remarks>
            Gets or sets the version of the operating system.
            </remarks>
            <value>The version of the operation system.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.Vendor">
            <summary>
            Get or set the name of the vendor.
            </summary>
            <remarks>
            Gets or sets the name of the vendor.
            </remarks>
            <value>The name of the vendor.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.SupportUrl">
            <summary>
            Get or set the support URL.
            </summary>
            <remarks>
            Gets or sets the support URL.
            </remarks>
            <value>The support URL.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.Address">
            <summary>
            Get or set the postal address of the vendor.
            </summary>
            <remarks>
            Gets or sets the postal address of the vendor.
            </remarks>
            <value>The postal address.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.ReleaseDate">
            <summary>
            Get or set the release date of the program.
            </summary>
            <remarks>
            Gets or sets the release date of the program.
            </remarks>
            <value>The release date.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.Command">
            <summary>
            Get or set the command used to start the program.
            </summary>
            <remarks>
            Gets or sets the command used to start the program.
            </remarks>
            <value>The command used to start the program.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.Arguments">
            <summary>
            Get or set the command-line arguments used to start the program.
            </summary>
            <remarks>
            Gets or sets the command-line arguments used to start the program.
            </remarks>
            <value>The command-line arguments used to start the program.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapImplementation.Environment">
            <summary>
            Get or set the environment variables available to the program.
            </summary>
            <remarks>
            Get or set the environment variables available to the program.
            </remarks>
            <value>The environment variables.</value>
        </member>
        <member name="T:MailKit.Net.Imap.ImapProtocolException">
            <summary>
            An IMAP protocol exception.
            </summary>
            <remarks>
            The exception that is thrown when there is an error communicating with an IMAP server. An
            <see cref="T:MailKit.Net.Imap.ImapProtocolException"/> is typically fatal and requires the <see cref="T:MailKit.Net.Imap.ImapClient"/>
            to be reconnected.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Imap.ImapProtocolException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapProtocolException"/> from the serialized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapProtocolException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">An inner exception.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapProtocolException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapProtocolException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapProtocolException"/>.
            </remarks>
        </member>
        <member name="P:MailKit.Net.Imap.ImapProtocolException.UnexpectedToken">
            <summary>
            Gets or sets whether or not this exception was thrown due to an unexpected token.
            </summary>
            <remarks>
            Gets or sets whether or not this exception was thrown due to an unexpected token.
            </remarks>
            <value><c>true</c> if an unexpected token was encountered; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:MailKit.Net.Imap.ImapStreamMode">
            <summary>
            An enumeration of the possible IMAP streaming modes.
            </summary>
            <remarks>
            Normal operation is done in the <see cref="F:MailKit.Net.Imap.ImapStreamMode.Token"/> mode,
            but when reading literal string data, the
            <see cref="F:MailKit.Net.Imap.ImapStreamMode.Literal"/> mode should be used.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Imap.ImapStreamMode.Token">
            <summary>
            Reads 1 token at a time.
            </summary>
        </member>
        <member name="F:MailKit.Net.Imap.ImapStreamMode.Literal">
            <summary>
            Reads literal string data.
            </summary>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.#ctor(System.IO.Stream,System.Net.Sockets.Socket,MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Imap.ImapStream"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Imap.ImapStream"/>.
            </remarks>
            <param name="source">The underlying network stream.</param>
            <param name="socket">The underlying network socket.</param>
            <param name="protocolLogger">The protocol logger.</param>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.Stream">
            <summary>
            Get or sets the underlying network stream.
            </summary>
            <remarks>
            Gets or sets the underlying network stream.
            </remarks>
            <value>The underlying network stream.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.Socket">
            <summary>
            Get the underlying network socket.
            </summary>
            <remarks>
            Gets the underlying network socket.
            </remarks>
            <value>The underlying network socket.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.Mode">
            <summary>
            Get or sets the mode used for reading.
            </summary>
            <remarks>
            Gets or sets the mode used for reading.
            </remarks>
            <value>The mode.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.LiteralLength">
            <summary>
            Get the length of the literal.
            </summary>
            <remarks>
            Gets the length of the literal.
            </remarks>
            <value>The length of the literal.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.IsConnected">
            <summary>
            Get whether or not the stream is connected.
            </summary>
            <remarks>
            Gets whether or not the stream is connected.
            </remarks>
            <value><c>true</c> if the stream is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.CanRead">
            <summary>
            Get whether the stream supports reading.
            </summary>
            <remarks>
            Gets whether the stream supports reading.
            </remarks>
            <value><c>true</c> if the stream supports reading; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.CanWrite">
            <summary>
            Get whether the stream supports writing.
            </summary>
            <remarks>
            Gets whether the stream supports writing.
            </remarks>
            <value><c>true</c> if the stream supports writing; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.CanSeek">
            <summary>
            Get whether the stream supports seeking.
            </summary>
            <remarks>
            Gets whether the stream supports seeking.
            </remarks>
            <value><c>true</c> if the stream supports seeking; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.CanTimeout">
            <summary>
            Get whether the stream supports I/O timeouts.
            </summary>
            <remarks>
            Gets whether the stream supports I/O timeouts.
            </remarks>
            <value><c>true</c> if the stream supports I/O timeouts; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.ReadTimeout">
            <summary>
            Get or set a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
            </summary>
            <remarks>
            Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
            </remarks>
            <returns>A value, in milliseconds, that determines how long the stream will attempt to read before timing out.</returns>
            <value>The read timeout.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.WriteTimeout">
            <summary>
            Get or set a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
            </summary>
            <remarks>
            Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
            </remarks>
            <returns>A value, in milliseconds, that determines how long the stream will attempt to write before timing out.</returns>
            <value>The write timeout.</value>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.Position">
            <summary>
            Get or set the position within the current stream.
            </summary>
            <remarks>
            Gets or sets the position within the current stream.
            </remarks>
            <returns>The current position within the stream.</returns>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MailKit.Net.Imap.ImapStream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            Gets the length of the stream, in bytes.
            </remarks>
            <returns>A long value representing the length of the stream in bytes.</returns>
            <value>The length of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.Read(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The stream is in token mode (see <see cref="F:MailKit.Net.Imap.ImapStreamMode.Token"/>).
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The stream is in token mode (see <see cref="F:MailKit.Net.Imap.ImapStreamMode.Token"/>).
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.ReadToken(System.Threading.CancellationToken)">
            <summary>
            Reads the next available token from the stream.
            </summary>
            <returns>The token.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.ReadTokenAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously reads the next available token from the stream.
            </summary>
            <returns>The token.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.UngetToken(MailKit.Net.Imap.ImapToken)">
            <summary>
            Ungets a token.
            </summary>
            <param name="token">The token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.ReadLine(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Reads a single line of input from the stream.
            </summary>
            <remarks>
            This method should be called in a loop until it returns <c>true</c>.
            </remarks>
            <returns><c>true</c>, if reading the line is complete, <c>false</c> otherwise.</returns>
            <param name="ostream">The output stream to write the line data into.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.ReadLineAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously reads a single line of input from the stream.
            </summary>
            <remarks>
            This method should be called in a loop until it returns <c>true</c>.
            </remarks>
            <returns><c>true</c>, if reading the line is complete, <c>false</c> otherwise.</returns>
            <param name="ostream">The output stream to write the line data into.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.Write(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.Flush(System.Threading.CancellationToken)">
            <summary>
            Clears all output buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all output buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.Flush">
            <summary>
            Clears all output buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all output buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream.
            </summary>
            <remarks>
            It is not possible to seek within a <see cref="T:MailKit.Net.Imap.ImapStream"/>.
            </remarks>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <remarks>
            It is not possible to set the length of a <see cref="T:MailKit.Net.Imap.ImapStream"/>.
            </remarks>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapStream.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Imap.ImapStream"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Imap.ImapStream"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MailKit.Net.Imap.ImapUtils">
            <summary>
            IMAP utility functions.
            </summary>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.FormatInternalDate(System.DateTimeOffset)">
            <summary>
            Formats a date in a format suitable for use with the APPEND command.
            </summary>
            <returns>The formatted date string.</returns>
            <param name="date">The date.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseInternalDate(System.String)">
            <summary>
            Parses the internal date string.
            </summary>
            <returns>The date.</returns>
            <param name="text">The text to parse.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.FormatIndexSet(System.Collections.Generic.IList{System.Int32})">
            <summary>
            Formats the array of indexes as a string suitable for use with IMAP commands.
            </summary>
            <returns>The index set.</returns>
            <param name="indexes">The indexes.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            One or more of the indexes has a negative value.
            </exception>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseImplementationAsync(MailKit.Net.Imap.ImapEngine,MailKit.Net.Imap.ImapCommand,System.Int32,System.Boolean)">
            <summary>
            Parses an untagged ID response.
            </summary>
            <param name="engine">The IMAP engine.</param>
            <param name="ic">The IMAP command.</param>
            <param name="index">The index.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.CanonicalizeMailboxName(System.String,System.Char)">
            <summary>
            Canonicalize the name of the mailbox.
            </summary>
            <remarks>
            Canonicalizes the name of the mailbox by replacing various
            capitalizations of "INBOX" with the literal "INBOX" string.
            </remarks>
            <returns>The mailbox name.</returns>
            <param name="mailboxName">The encoded mailbox name.</param>
            <param name="directorySeparator">The directory separator.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.IsInbox(System.String)">
            <summary>
            Determines whether the specified mailbox is the Inbox.
            </summary>
            <returns><c>true</c> if the specified mailbox name is the Inbox; otherwise, <c>false</c>.</returns>
            <param name="mailboxName">The mailbox name.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseFolderListAsync(MailKit.Net.Imap.ImapEngine,System.Collections.Generic.List{MailKit.Net.Imap.ImapFolder},System.Boolean,System.Boolean,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Parses an untagged LIST or LSUB response.
            </summary>
            <param name="engine">The IMAP engine.</param>
            <param name="list">The list of folders to be populated.</param>
            <param name="isLsub"><c>true</c> if it is an LSUB response; otherwise, <c>false</c>.</param>
            <param name="returnsSubscribed"><c>true</c> if the LIST response is expected to return \Subscribed flags; otherwise, <c>false</c>.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseFolderListAsync(MailKit.Net.Imap.ImapEngine,MailKit.Net.Imap.ImapCommand,System.Int32,System.Boolean)">
            <summary>
            Parses an untagged LIST or LSUB response.
            </summary>
            <param name="engine">The IMAP engine.</param>
            <param name="ic">The IMAP command.</param>
            <param name="index">The index.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseMetadataAsync(MailKit.Net.Imap.ImapEngine,MailKit.MetadataCollection,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Parses an untagged METADATA response.
            </summary>
            <returns>The encoded name of the folder that the metadata belongs to.</returns>
            <param name="engine">The IMAP engine.</param>
            <param name="metadata">The metadata collection to be populated.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseMetadataAsync(MailKit.Net.Imap.ImapEngine,MailKit.Net.Imap.ImapCommand,System.Int32,System.Boolean)">
            <summary>
            Parses an untagged METADATA response.
            </summary>
            <param name="engine">The IMAP engine.</param>
            <param name="ic">The IMAP command.</param>
            <param name="index">The index.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseEnvelopeAsync(MailKit.Net.Imap.ImapEngine,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Parses the ENVELOPE parenthesized list.
            </summary>
            <returns>The envelope.</returns>
            <param name="engine">The IMAP engine.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.FormatFlagsList(MailKit.MessageFlags,System.Int32)">
            <summary>
            Formats a flags list suitable for use with the APPEND command.
            </summary>
            <returns>The flags list string.</returns>
            <param name="flags">The message flags.</param>
            <param name="numUserFlags">The number of user-defined flags.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseFlagsListAsync(MailKit.Net.Imap.ImapEngine,System.String,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Parses the flags list.
            </summary>
            <returns>The message flags.</returns>
            <param name="engine">The IMAP engine.</param>
            <param name="name">The name of the flags being parsed.</param>
            <param name="keywords">A hash set of user-defined message flags that will be populated if non-null.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseLabelsListAsync(MailKit.Net.Imap.ImapEngine,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Parses the X-GM-LABELS list.
            </summary>
            <returns>The message labels.</returns>
            <param name="engine">The IMAP engine.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.Net.Imap.ImapUtils.ParseThreadsAsync(MailKit.Net.Imap.ImapEngine,System.UInt32,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Parses the threads.
            </summary>
            <returns>The threads.</returns>
            <param name="engine">The IMAP engine.</param>
            <param name="uidValidity">The UIDVALIDITY of the folder.</param>
            <param name="doAsync">Whether or not asynchronous IO methods should be used.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3Client">
            <summary>
            A POP3 client that can be used to retrieve messages from a server.
            </summary>
            <remarks>
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> class supports both the "pop" and "pops" protocols. The "pop" protocol
            makes a clear-text connection to the POP3 server and does not use SSL or TLS unless the POP3 server
            supports the <a href="https://tools.ietf.org/html/rfc2595">STLS</a> extension. The "pops" protocol,
            however, connects to the POP3 server using an SSL-wrapped connection.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.AuthenticateAsync(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            An POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.AuthenticateAsync(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticates using the supplied credentials.
            </summary>
            <remarks>
            <para>If the POP3 server supports the APOP authentication mechanism,
            then APOP is used.</para>
            <para>If the APOP authentication mechanism is not supported and the
            server supports one or more SASL authentication mechanisms, then
            the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the <c>USER</c> and <c>PASS</c> commands are used as a
            fallback.</para>
            <note type="tip"><para>To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> hash set
            before calling this method.</para>
            <para>In the case of the APOP authentication mechanism, remove it from the
            <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> property instead.</para></note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encoding">The text encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            An POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.ConnectAsync(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified POP3 or POP3/S server.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified POP3 or POP3/S server.</para>
            <para>If the <paramref name="port"/> has a value of <c>0</c>, then the
            <paramref name="options"/> parameter is used to determine the default port to
            connect to. The default port used with <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>
            is <c>995</c>. All other values will use a default port of <c>110</c>.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>995</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> will be
            populated.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the POP3 server does not support the STLS extension.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.ConnectAsync(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified POP3 or POP3/S server using the provided socket.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified POP3 or POP3/S server using
            the provided socket.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>995</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the POP3 server does not support the STLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.ConnectAsync(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified POP3 or POP3/S server using the provided stream.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified POP3 or POP3/S server using
            the provided stream.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>995</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the POP3 server does not support the STLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DisconnectAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously disconnect the service.
            </summary>
            <remarks>
            If <paramref name="quit"/> is <c>true</c>, a <c>QUIT</c> command will be issued in order to disconnect cleanly.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="quit">If set to <c>true</c>, a <c>QUIT</c> command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageCountAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the message count.
            </summary>
            <remarks>
            Asynchronously gets the message count.
            </remarks>
            <returns>The message count.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.NoOpAsync(System.Threading.CancellationToken)">
            <summary>
            Ping the POP3 server to keep the connection alive.
            </summary>
            <remarks>Mail servers, if left idle for too long, will automatically drop the connection.</remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.EnableUTF8Async(System.Threading.CancellationToken)">
            <summary>
            Asynchronously enable UTF8 mode.
            </summary>
            <remarks>
            The POP3 UTF8 extension allows the client to retrieve messages in the UTF-8 encoding and
            may also allow the user to authenticate using a UTF-8 encoded username or password.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has already been authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UTF8 extension.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetLanguagesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the list of languages supported by the POP3 server.
            </summary>
            <remarks>
            If the POP3 server supports the LANG extension, it is possible to
            query the list of languages supported by the POP3 server that can
            be used for error messages.
            </remarks>
            <returns>The supported languages.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the LANG extension.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.SetLanguageAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the language used by the POP3 server for error messages.
            </summary>
            <remarks>
            If the POP3 server supports the LANG extension, it is possible to
            set the language used by the POP3 server for error messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="lang">The language code.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="lang"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="lang"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the LANG extension.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageUidAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the UID of the message at the specified index.
            </summary>
            <remarks>
            <para>Gets the UID of the message at the specified index.</para>
            <note type="warning">Not all servers support UIDs, so you should first check the
            <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> property for the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.UIDL"/> flag or
            the <see cref="P:MailKit.Net.Pop3.Pop3Client.SupportsUids"/> convenience property.</note>
            </remarks>
            <returns>The message UID.</returns>
            <param name="index">The message index.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageUidsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the full list of available message UIDs.
            </summary>
            <remarks>
            <para>Gets the full list of available message UIDs.</para>
            <note type="warning">Not all servers support UIDs, so you should first check the
            <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> property for the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.UIDL"/> flag or
            the <see cref="P:MailKit.Net.Pop3.Pop3Client.SupportsUids"/> convenience property.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadNewMessages"/>
            </example>
            <returns>The message uids.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageSizeAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the size of the specified message, in bytes.
            </summary>
            <remarks>
            Gets the size of the specified message, in bytes.
            </remarks>
            <returns>The message size, in bytes.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageSizesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the sizes for all available messages, in bytes.
            </summary>
            <remarks>
            Gets the sizes for all available messages, in bytes.
            </remarks>
            <returns>The message sizes, in bytes.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeadersAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the headers for the message at the specified index.
            </summary>
            <remarks>
            Gets the headers for the message at the specified index.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeadersAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the headers for the messages at the specified indexes.
            </summary>
            <remarks>
            <para>Gets the headers for the messages at the specified indexes.</para>
            <para>When the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeaders(System.Int32,System.Threading.CancellationToken)"/> for each message because
            it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The headers for the specified messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> are invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeadersAsync(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the headers of the messages within the specified range.
            </summary>
            <remarks>
            <para>Gets the headers of the messages within the specified range.</para>
            <para>When the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeaders(System.Int32,System.Threading.CancellationToken)"/> for each message because
            it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The headers of the messages within the specified range.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message at the specified index.
            </summary>
            <remarks>
            Gets the message at the specified index.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessagesAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the messages at the specified indexes.
            </summary>
            <remarks>
            <para>Gets the messages at the specified indexes.</para>
            <para>When the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for each message
            because it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> are invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessagesAsync(System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the messages within the specified range.
            </summary>
            <remarks>
            <para>Gets the messages within the specified range.</para>
            <para>When the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for each message
            because it will batch the commands to reduce latency.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="BatchDownloadMessages"/>
            </example>
            <returns>The messages.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetStreamAsync(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header stream at the specified index.
            </summary>
            <remarks>
            Gets the message or header stream at the specified index.
            </remarks>
            <returns>The message or header stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetStreamsAsync(System.Collections.Generic.IList{System.Int32},System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header streams at the specified indexes.
            </summary>
            <remarks>
            <para>Get the message or header streams at the specified indexes.</para>
            <para>If the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for each message
            because it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> are invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetStreamsAsync(System.Int32,System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header streams within the specified range.
            </summary>
            <remarks>
            <para>Gets the message or header streams within the specified range.</para>
            <para>If the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for each message
            because it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="startIndex">The index of the first stream to get.</param>
            <param name="count">The number of streams to get.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DeleteMessageAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified message for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DeleteMessagesAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> are invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DeleteMessagesAsync(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified range of messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="BatchDownloadMessages"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="startIndex">The index of the first message to mark for deletion.</param>
            <param name="count">The number of messages to mark for deletion.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DeleteAllMessagesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark all messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.ResetAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously reset the state of all messages marked for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.#ctor(MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3Client"/> class.
            </summary>
            <remarks>
            Before you can retrieve messages with the <see cref="T:MailKit.Net.Pop3.Pop3Client"/>, you must first call
            one of the <a href="Overload_MailKit_Net_Pop3_Pop3Client_Connect.htm">Connect</a> methods
            and authenticate using one of the
            <a href="Overload_MailKit_Net_Pop3_Pop3Client_Authenticate.htm">Authenticate</a> methods.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="ProtocolLogger"/>
            </example>
            <param name="protocolLogger">The protocol logger.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocolLogger"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3Client"/> class.
            </summary>
            <remarks>
            Before you can retrieve messages with the <see cref="T:MailKit.Net.Pop3.Pop3Client"/>, you must first call
            one of the <a href="Overload_MailKit_Net_Pop3_Pop3Client_Connect.htm">Connect</a> methods
            and authenticate using one of the
            <a href="Overload_MailKit_Net_Pop3_Pop3Client_Authenticate.htm">Authenticate</a> methods.
            </remarks>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the POP3 server.
            </summary>
            <remarks>
            <para>Gets an object that can be used to synchronize access to the POP3 server.</para>
            <para>When using the non-Async methods from multiple threads, it is important to lock the
            <see cref="P:MailKit.Net.Pop3.Pop3Client.SyncRoot"/> object for thread safety when using the synchronous methods.</para>
            </remarks>
            <value>The lock object.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.Protocol">
            <summary>
            Gets the protocol supported by the message service.
            </summary>
            <remarks>
            Gets the protocol supported by the message service.
            </remarks>
            <value>The protocol.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.Capabilities">
            <summary>
            Gets the capabilities supported by the POP3 server.
            </summary>
            <remarks>
            The capabilities will not be known until a successful connection has been made 
            and may change once the client is authenticated.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="Capabilities"/>
            </example>
            <value>The capabilities.</value>
            <exception cref="T:System.ArgumentException">
            Capabilities cannot be enabled, they may only be disabled.
            </exception>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.ExpirePolicy">
            <summary>
            Gets the expiration policy.
            </summary>
            <remarks>
            <para>If the server supports the EXPIRE capability (<see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Expire"/>), the value
            of the <see cref="P:MailKit.Net.Pop3.Pop3Client.ExpirePolicy"/> property will reflect the value advertized by the server.</para>
            <para>A value of <c>-1</c> indicates that messages will never expire.</para>
            <para>A value of <c>0</c> indicates that messages that have been retrieved during the current session
            will be purged immediately after the connection is closed via the <c>QUIT</c> command.</para>
            <para>Values larger than <c>0</c> indicate the minimum number of days that the server will retain
            messages which have been retrieved.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="Capabilities"/>
            </example>
            <value>The expiration policy.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.Implementation">
            <summary>
            Gets the implementation details of the server.
            </summary>
            <remarks>
            If the server advertizes its implementation details, this value will be set to a string containing the
            information details provided by the server.
            </remarks>
            <value>The implementation details.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.LoginDelay">
            <summary>
            Gets the minimum delay, in milliseconds, between logins.
            </summary>
            <remarks>
            If the server supports the LOGIN-DELAY capability (<see cref="F:MailKit.Net.Pop3.Pop3Capabilities.LoginDelay"/>), this value
            will be set to the minimum number of milliseconds that the client must wait between logins.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="Capabilities"/>
            </example>
            <value>The login delay.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms">
            <summary>
            Gets the authentication mechanisms supported by the POP3 server.
            </summary>
            <remarks>
            <para>The authentication mechanisms are queried as part of the
            connection process.</para>
            <para>Servers that do not support the SASL capability will typically
            support either the <c>APOP</c> authentication mechanism
            (<see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Apop"/>) or the ability to login using the
            <c>USER</c> and <c>PASS</c> commands (<see cref="F:MailKit.Net.Pop3.Pop3Capabilities.User"/>).
            </para>
            <note type="tip"><para>To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> hash set
            before authenticating.</para>
            <para>In the case of the APOP authentication mechanism, remove it from the
            <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> property instead.</para></note>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="Capabilities"/>
            </example>
            <value>The authentication mechanisms.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.Timeout">
            <summary>
            Gets or sets the timeout for network streaming operations, in milliseconds.
            </summary>
            <remarks>
            Gets or sets the underlying socket stream's <see cref="P:System.IO.Stream.ReadTimeout"/>
            and <see cref="P:System.IO.Stream.WriteTimeout"/> values.
            </remarks>
            <value>The timeout in milliseconds.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.IsConnected">
            <summary>
            Gets whether or not the client is currently connected to an POP3 server.
            </summary>
            <remarks>
            <para>The <see cref="P:MailKit.Net.Pop3.Pop3Client.IsConnected"/> state is set to <c>true</c> immediately after
            one of the <a href="Overload_MailKit_Net_Pop3_Pop3Client_Connect.htm">Connect</a>
            methods succeeds and is not set back to <c>false</c> until either the client
            is disconnected via <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/> or until a
            <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/> is thrown while attempting to read or write to
            the underlying network socket.</para>
            <para>When an <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/> is caught, the connection state of the
            <see cref="T:MailKit.Net.Pop3.Pop3Client"/> should be checked before continuing.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="ExceptionHandling"/>
            </example>
            <value><c>true</c> if the client is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.IsSecure">
            <summary>
            Get whether or not the connection is secure (typically via SSL or TLS).
            </summary>
            <remarks>
            Gets whether or not the connection is secure (typically via SSL or TLS).
            </remarks>
            <value><c>true</c> if the connection is secure; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.IsAuthenticated">
            <summary>
            Get whether or not the client is currently authenticated with the POP3 server.
            </summary>
            <remarks>
            <para>Gets whether or not the client is currently authenticated with the POP3 server.</para>
            <para>To authenticate with the POP3 server, use one of the
            <a href="Overload_MailKit_Net_Pop3_Pop3Client_Authenticate.htm">Authenticate</a> methods.</para>
            </remarks>
            <value><c>true</c> if the client is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.Authenticate(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            An POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.Authenticate(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the POP3 server supports the APOP authentication mechanism,
            then APOP is used.</para>
            <para>If the APOP authentication mechanism is not supported and the
            server supports one or more SASL authentication mechanisms, then
            the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the <c>USER</c> and <c>PASS</c> commands are used as a
            fallback.</para>
            <note type="tip"><para>To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> hash set
            before calling this method.</para>
            <para>In the case of the APOP authentication mechanism, remove it from the
            <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> property instead.</para></note>
            </remarks>
            <param name="encoding">The text encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            An POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.Connect(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified POP3 or POP3/S server.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified POP3 or POP3/S server.</para>
            <para>If the <paramref name="port"/> has a value of <c>0</c>, then the
            <paramref name="options"/> parameter is used to determine the default port to
            connect to. The default port used with <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>
            is <c>995</c>. All other values will use a default port of <c>110</c>.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>995</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> will be
            populated.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the POP3 server does not support the STLS extension.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.Connect(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified POP3 or POP3/S server using the provided socket.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified POP3 or POP3/S server using
            the provided socket.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>995</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the POP3 server does not support the STLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.Connect(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified POP3 or POP3/S server using the provided stream.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified POP3 or POP3/S server using
            the provided stream.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>995</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the POP3 server does not support the STLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Disconnect the service.
            </summary>
            <remarks>
            If <paramref name="quit"/> is <c>true</c>, a <c>QUIT</c> command will be issued in order to disconnect cleanly.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <param name="quit">If set to <c>true</c>, a <c>QUIT</c> command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageCount(System.Threading.CancellationToken)">
            <summary>
            Get the message count.
            </summary>
            <remarks>
            Gets the message count.
            </remarks>
            <returns>The message count.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.NoOp(System.Threading.CancellationToken)">
            <summary>
            Ping the POP3 server to keep the connection alive.
            </summary>
            <remarks>Mail servers, if left idle for too long, will automatically drop the connection.</remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.EnableUTF8(System.Threading.CancellationToken)">
            <summary>
            Enable UTF8 mode.
            </summary>
            <remarks>
            The POP3 UTF8 extension allows the client to retrieve messages in the UTF-8 encoding and
            may also allow the user to authenticate using a UTF-8 encoded username or password.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has already been authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UTF8 extension.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetLanguages(System.Threading.CancellationToken)">
            <summary>
            Get the list of languages supported by the POP3 server.
            </summary>
            <remarks>
            If the POP3 server supports the LANG extension, it is possible to
            query the list of languages supported by the POP3 server that can
            be used for error messages.
            </remarks>
            <returns>The supported languages.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the LANG extension.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.SetLanguage(System.String,System.Threading.CancellationToken)">
            <summary>
            Set the language used by the POP3 server for error messages.
            </summary>
            <remarks>
            If the POP3 server supports the LANG extension, it is possible to
            set the language used by the POP3 server for error messages.
            </remarks>
            <param name="lang">The language code.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="lang"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="lang"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the LANG extension.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.Count">
            <summary>
            Get the number of messages available in the message spool.
            </summary>
            <remarks>
            <para>Gets the number of messages available on the POP3 server.</para>
            <para>Once authenticated, the <see cref="P:MailKit.Net.Pop3.Pop3Client.Count"/> property will be set
            to the number of available messages on the POP3 server.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <value>The message count.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Client.SupportsUids">
            <summary>
            Gets whether or not the <see cref="T:MailKit.Net.Pop3.Pop3Client"/> supports referencing messages by UIDs.
            </summary>
            <remarks>
            <para>Not all servers support referencing messages by UID, so this property should
            be checked before using <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessageUid(System.Int32,System.Threading.CancellationToken)"/>
            and <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessageUids(System.Threading.CancellationToken)"/>.</para>
            <para>If the server does not support UIDs, then all methods that take UID arguments
            along with <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessageUid(System.Int32,System.Threading.CancellationToken)"/> and
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessageUids(System.Threading.CancellationToken)"/> will fail.</para>
            </remarks>
            <value><c>true</c> if supports UIDs; otherwise, <c>false</c>.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageUid(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the UID of the message at the specified index.
            </summary>
            <remarks>
            <para>Gets the UID of the message at the specified index.</para>
            <note type="warning">Not all servers support UIDs, so you should first check the
            <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> property for the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.UIDL"/> flag or
            the <see cref="P:MailKit.Net.Pop3.Pop3Client.SupportsUids"/> convenience property.</note>
            </remarks>
            <returns>The message UID.</returns>
            <param name="index">The message index.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageUids(System.Threading.CancellationToken)">
            <summary>
            Get the full list of available message UIDs.
            </summary>
            <remarks>
            <para>Gets the full list of available message UIDs.</para>
            <note type="warning">Not all servers support UIDs, so you should first check the
            <see cref="P:MailKit.Net.Pop3.Pop3Client.Capabilities"/> property for the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.UIDL"/> flag or
            the <see cref="P:MailKit.Net.Pop3.Pop3Client.SupportsUids"/> convenience property.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadNewMessages"/>
            </example>
            <returns>The message uids.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageSize(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the size of the specified message, in bytes.
            </summary>
            <remarks>
            Gets the size of the specified message, in bytes.
            </remarks>
            <returns>The message size, in bytes.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageSizes(System.Threading.CancellationToken)">
            <summary>
            Get the sizes for all available messages, in bytes.
            </summary>
            <remarks>
            Gets the sizes for all available messages, in bytes.
            </remarks>
            <returns>The message sizes, in bytes.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeaders(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the headers for the message at the specified index.
            </summary>
            <remarks>
            Gets the headers for the message at the specified index.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeaders(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Get the headers for the messages at the specified indexes.
            </summary>
            <remarks>
            <para>Gets the headers for the messages at the specified indexes.</para>
            <para>When the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeaders(System.Int32,System.Threading.CancellationToken)"/> for each message because
            it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The headers for the specified messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> are invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeaders(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the headers of the messages within the specified range.
            </summary>
            <remarks>
            <para>Gets the headers of the messages within the specified range.</para>
            <para>When the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessageHeaders(System.Int32,System.Threading.CancellationToken)"/> for each message because
            it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The headers of the messages within the specified range.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message at the specified index.
            </summary>
            <remarks>
            Gets the message at the specified index.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessages(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the messages at the specified indexes.
            </summary>
            <remarks>
            <para>Gets the messages at the specified indexes.</para>
            <para>When the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for each message
            because it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> are invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetMessages(System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the messages within the specified range.
            </summary>
            <remarks>
            <para>Gets the messages within the specified range.</para>
            <para>When the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for each message
            because it will batch the commands to reduce latency.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="BatchDownloadMessages"/>
            </example>
            <returns>The messages.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header stream at the specified index.
            </summary>
            <remarks>
            Gets the message or header stream at the specified index.
            </remarks>
            <returns>The message or header stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetStreams(System.Collections.Generic.IList{System.Int32},System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header streams at the specified indexes.
            </summary>
            <remarks>
            <para>Get the message or header streams at the specified indexes.</para>
            <para>If the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for each message
            because it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> are invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetStreams(System.Int32,System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header streams within the specified range.
            </summary>
            <remarks>
            <para>Gets the message or header streams within the specified range.</para>
            <para>If the POP3 server supports the <see cref="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining"/>
            extension, this method will likely be more efficient than using
            <see cref="M:MailKit.Net.Pop3.Pop3Client.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for each message
            because it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="startIndex">The index of the first stream to get.</param>
            <param name="count">The number of streams to get.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The POP3 server does not support the UIDL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DeleteMessage(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Mark the specified message for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DeleteMessages(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Mark the specified messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> are invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DeleteMessages(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Mark the specified range of messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="BatchDownloadMessages"/>
            </example>
            <param name="startIndex">The index of the first message to mark for deletion.</param>
            <param name="count">The number of messages to mark for deletion.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.DeleteAllMessages(System.Threading.CancellationToken)">
            <summary>
            Mark all messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.Reset(System.Threading.CancellationToken)">
            <summary>
            Reset the state of all messages marked for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.Net.Pop3.Pop3Client.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            The POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.GetEnumerator">
            <summary>
            Get an enumerator for the messages in the folder.
            </summary>
            <remarks>
            Gets an enumerator for the messages in the folder.
            </remarks>
            <returns>The enumerator.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.Net.Pop3.Pop3Client"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3CommandException">
            A POP3 command failed.
            </exception>
            <exception cref="T:MailKit.Net.Pop3.Pop3ProtocolException">
            A POP3 protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Client.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Pop3.Pop3Client"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Pop3.Pop3Client"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3Capabilities">
            <summary>
            Capabilities supported by a POP3 server.
            </summary>
            <remarks>
            Capabilities are read as part of the response to the <c>CAPA</c> command that
            is issued during the connection and authentication phases of the
            <see cref="T:MailKit.Net.Pop3.Pop3Client"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="Capabilities"/>
            </example>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.None">
            <summary>
            The server does not support any additional extensions.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.Apop">
            <summary>
            The server supports <a href="https://tools.ietf.org/html/rfc1939#page-15">APOP</a>
            authentication.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.Expire">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2449">EXPIRE</a> extension
            and defines the expiration policy for messages (see <see cref="P:MailKit.Net.Pop3.Pop3Client.ExpirePolicy"/>).
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.LoginDelay">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2449">LOGIN-DELAY</a> extension,
            allowing the server to specify to the client a minimum number of seconds between login attempts
            (see <see cref="P:MailKit.Net.Pop3.Pop3Client.LoginDelay"/>).
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.Pipelining">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2449">PIPELINING</a> extension,
            allowing the client to batch multiple requests to the server at at time.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.ResponseCodes">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2449">RESP-CODES</a> extension,
            allowing the server to provide clients with extended information in error responses.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.Sasl">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2449">SASL</a> authentication
            extension, allowing the client to authenticate using the advertized authentication mechanisms
            (see <see cref="P:MailKit.Net.Pop3.Pop3Client.AuthenticationMechanisms"/>).
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.StartTLS">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2595">STLS</a> extension,
            allowing clients to switch to an encrypted SSL/TLS connection after connecting.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.Top">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc1939#page-11">TOP</a> command,
            allowing clients to fetch the headers plus an arbitrary number of lines.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.UIDL">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc1939#page-12">UIDL</a> command,
            allowing the client to refer to messages via a UID as opposed to a sequence ID.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.User">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc1939#page-13">USER</a>
            authentication command, allowing the client to authenticate via a plain-text username
            and password command (not recommended unless no other authentication mechanisms exist).
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.UTF8">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6856">UTF8</a> extension,
            allowing clients to retrieve messages in the UTF-8 encoding.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.UTF8User">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6856">UTF8=USER</a> extension,
            allowing clients to authenticate using UTF-8 encoded usernames and passwords.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3Capabilities.Lang">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6856">LANG</a> extension,
            allowing clients to specify which language the server should use for error strings.
            </summary>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3CommandHandler">
            <summary>
            POP3 command handler.
            </summary>
            <remarks>
            All exceptions thrown by the handler are considered fatal and will
            force-disconnect the connection. If a non-fatal error occurs, set
            it on the <see cref="P:MailKit.Net.Pop3.Pop3Command.Exception"/> property.
            </remarks>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3CommandException">
            <summary>
            A POP3 command exception.
            </summary>
            <remarks>
            The exception that is thrown when a POP3 command fails. Unlike a <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/>,
            a <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/> does not require the <see cref="T:MailKit.Net.Pop3.Pop3Client"/> to be reconnected.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="ExceptionHandling"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3CommandException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/> from the serialized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3CommandException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">An inner exception.</param>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3CommandException.#ctor(System.String,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="statusText">The response status text.</param>
            <param name="innerException">An inner exception.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="statusText"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3CommandException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3CommandException.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="statusText">The response status text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="statusText"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3CommandException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3CommandException"/>.
            </remarks>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3CommandException.StatusText">
            <summary>
            Get the response status text.
            </summary>
            <remarks>
            Gets the response status text.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="ExceptionHandling"/>
            </example>
            <value>The response status text.</value>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3CommandException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Serializes the state of the <see cref="T:MailKit.FolderNotFoundException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3EngineState">
            <summary>
            The state of the <see cref="T:MailKit.Net.Pop3.Pop3Engine"/>.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3EngineState.Disconnected">
            <summary>
            The Pop3Engine is in the disconnected state.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3EngineState.Connected">
            <summary>
            The Pop3Engine is in the connected state.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3EngineState.Transaction">
            <summary>
            The Pop3Engine is in the transaction state, indicating that it is 
            authenticated and may retrieve messages from the server.
            </summary>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3Engine">
            <summary>
            A POP3 command engine.
            </summary>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Engine.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3Engine"/> class.
            </summary>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.Uri">
            <summary>
            Gets the URI of the POP3 server.
            </summary>
            <remarks>
            Gets the URI of the POP3 server.
            </remarks>
            <value>The URI of the POP3 server.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.AuthenticationMechanisms">
            <summary>
            Gets the authentication mechanisms supported by the POP3 server.
            </summary>
            <remarks>
            The authentication mechanisms are queried durring the
            <see cref="M:MailKit.Net.Pop3.Pop3Engine.ConnectAsync(MailKit.Net.Pop3.Pop3Stream,System.Threading.CancellationToken)"/> method.
            </remarks>
            <value>The authentication mechanisms.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.Capabilities">
            <summary>
            Gets the capabilities supported by the POP3 server.
            </summary>
            <remarks>
            The capabilities will not be known until a successful connection
            has been made via the <see cref="M:MailKit.Net.Pop3.Pop3Engine.ConnectAsync(MailKit.Net.Pop3.Pop3Stream,System.Threading.CancellationToken)"/> method.
            </remarks>
            <value>The capabilities.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.Stream">
            <summary>
            Gets the underlying POP3 stream.
            </summary>
            <remarks>
            Gets the underlying POP3 stream.
            </remarks>
            <value>The pop3 stream.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.State">
            <summary>
            Gets or sets the state of the engine.
            </summary>
            <remarks>
            Gets or sets the state of the engine.
            </remarks>
            <value>The engine state.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.IsConnected">
            <summary>
            Gets whether or not the engine is currently connected to a POP3 server.
            </summary>
            <remarks>
            Gets whether or not the engine is currently connected to a POP3 server.
            </remarks>
            <value><c>true</c> if the engine is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.ApopToken">
            <summary>
            Gets the APOP authentication token.
            </summary>
            <remarks>
            Gets the APOP authentication token.
            </remarks>
            <value>The APOP authentication token.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.ExpirePolicy">
            <summary>
            Gets the EXPIRE extension policy value.
            </summary>
            <remarks>
            Gets the EXPIRE extension policy value.
            </remarks>
            <value>The EXPIRE policy.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.Implementation">
            <summary>
            Gets the implementation details of the server.
            </summary>
            <remarks>
            Gets the implementation details of the server.
            </remarks>
            <value>The implementation details.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Engine.LoginDelay">
            <summary>
            Gets the login delay.
            </summary>
            <remarks>
            Gets the login delay.
            </remarks>
            <value>The login delay.</value>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Engine.Connect(MailKit.Net.Pop3.Pop3Stream,System.Threading.CancellationToken)">
            <summary>
            Takes posession of the <see cref="T:MailKit.Net.Pop3.Pop3Stream"/> and reads the greeting.
            </summary>
            <remarks>
            Takes posession of the <see cref="T:MailKit.Net.Pop3.Pop3Stream"/> and reads the greeting.
            </remarks>
            <param name="pop3">The pop3 stream.</param>
            <param name="cancellationToken">The cancellation token</param>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Engine.ConnectAsync(MailKit.Net.Pop3.Pop3Stream,System.Threading.CancellationToken)">
            <summary>
            Takes posession of the <see cref="T:MailKit.Net.Pop3.Pop3Stream"/> and reads the greeting.
            </summary>
            <remarks>
            Takes posession of the <see cref="T:MailKit.Net.Pop3.Pop3Stream"/> and reads the greeting.
            </remarks>
            <param name="pop3">The pop3 stream.</param>
            <param name="cancellationToken">The cancellation token</param>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Engine.Disconnect">
            <summary>
            Disconnects the <see cref="T:MailKit.Net.Pop3.Pop3Engine"/>.
            </summary>
            <remarks>
            Disconnects the <see cref="T:MailKit.Net.Pop3.Pop3Engine"/>.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Engine.ReadLine(System.Threading.CancellationToken)">
            <summary>
            Reads a single line from the <see cref="T:MailKit.Net.Pop3.Pop3Stream"/>.
            </summary>
            <returns>The line.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The engine is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Engine.ReadLineAsync(System.Threading.CancellationToken)">
            <summary>
            Reads a single line from the <see cref="T:MailKit.Net.Pop3.Pop3Stream"/>.
            </summary>
            <returns>The line.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.InvalidOperationException">
            The engine is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Engine.Iterate">
            <summary>
            Iterate the command pipeline.
            </summary>
            <returns>The ID of the command that just completed.</returns>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Engine.IterateAsync">
            <summary>
            Iterate the command pipeline.
            </summary>
            <returns>The ID of the command that just completed.</returns>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3Language">
            <summary>
            A POP3 language.
            </summary>
            <remarks>
            A POP3 language.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Language.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3Language"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3Language"/>.
            </remarks>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Language.Language">
            <summary>
            Get the language code.
            </summary>
            <remarks>
            Gets the language code. This is the value that should be given to
            <see cref="M:MailKit.Net.Pop3.Pop3Client.SetLanguage(System.String,System.Threading.CancellationToken)"/>.
            </remarks>
            <value>The language.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Language.Description">
            <summary>
            Get the description.
            </summary>
            <remarks>
            Gets the description.
            </remarks>
            <value>The description.</value>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3ProtocolException">
            <summary>
            A POP3 protocol exception.
            </summary>
            <remarks>
            The exception that is thrown when there is an error communicating with a POP3 server. A
            <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/> is typically fatal and requires the <see cref="T:MailKit.Net.Pop3.Pop3Client"/>
            to be reconnected.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="ExceptionHandling"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3ProtocolException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/> from the serialized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3ProtocolException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">An inner exception.</param>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3ProtocolException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3ProtocolException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3ProtocolException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3StreamMode">
            <summary>
            An enumeration of the possible POP3 streaming modes.
            </summary>
            <remarks>
            Normal operation is done in the <see cref="F:MailKit.Net.Pop3.Pop3StreamMode.Line"/> mode,
            but when retrieving messages (via RETR) or headers (via TOP), the
            <see cref="F:MailKit.Net.Pop3.Pop3StreamMode.Data"/> mode should be used.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3StreamMode.Line">
            <summary>
            Reads 1 line at a time.
            </summary>
        </member>
        <member name="F:MailKit.Net.Pop3.Pop3StreamMode.Data">
            <summary>
            Reads data in chunks, ignoring line state.
            </summary>
        </member>
        <member name="T:MailKit.Net.Pop3.Pop3Stream">
            <summary>
            A stream for communicating with a POP3 server.
            </summary>
            <remarks>
            A stream capable of reading data line-by-line (<see cref="F:MailKit.Net.Pop3.Pop3StreamMode.Line"/>)
            or by raw byte streams (<see cref="F:MailKit.Net.Pop3.Pop3StreamMode.Data"/>).
            </remarks>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.#ctor(System.IO.Stream,System.Net.Sockets.Socket,MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Pop3.Pop3Stream"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Pop3.Pop3Stream"/>.
            </remarks>
            <param name="source">The underlying network stream.</param>
            <param name="socket">The underlying network socket.</param>
            <param name="protocolLogger">The protocol logger.</param>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.Stream">
            <summary>
            Get or sets the underlying network stream.
            </summary>
            <remarks>
            Gets or sets the underlying network stream.
            </remarks>
            <value>The underlying network stream.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.Socket">
            <summary>
            Get the underlying network socket.
            </summary>
            <remarks>
            Gets the underlying network socket.
            </remarks>
            <value>The underlying network socket.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.Mode">
            <summary>
            Gets or sets the mode used for reading.
            </summary>
            <value>The mode.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.IsConnected">
            <summary>
            Get whether or not the stream is connected.
            </summary>
            <remarks>
            Gets whether or not the stream is connected.
            </remarks>
            <value><c>true</c> if the stream is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.IsEndOfData">
            <summary>
            Get whether or not the end of the raw data has been reached in <see cref="F:MailKit.Net.Pop3.Pop3StreamMode.Data"/> mode.
            </summary>
            <remarks>
            When reading the resonse to a command such as RETR, the end of the data is marked by line matching ".\r\n".
            </remarks>
            <value><c>true</c> if the end of the data has been reached; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.CanRead">
            <summary>
            Get whether the stream supports reading.
            </summary>
            <remarks>
            Gets whether the stream supports reading.
            </remarks>
            <value><c>true</c> if the stream supports reading; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.CanWrite">
            <summary>
            Get whether the stream supports writing.
            </summary>
            <remarks>
            Gets whether the stream supports writing.
            </remarks>
            <value><c>true</c> if the stream supports writing; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.CanSeek">
            <summary>
            Get whether the stream supports seeking.
            </summary>
            <remarks>
            Gets whether the stream supports seeking.
            </remarks>
            <value><c>true</c> if the stream supports seeking; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.CanTimeout">
            <summary>
            Get whether the stream supports I/O timeouts.
            </summary>
            <remarks>
            Gets whether the stream supports I/O timeouts.
            </remarks>
            <value><c>true</c> if the stream supports I/O timeouts; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.ReadTimeout">
            <summary>
            Get or set a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
            </summary>
            <remarks>
            Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
            </remarks>
            <returns>A value, in milliseconds, that determines how long the stream will attempt to read before timing out.</returns>
            <value>The read timeout.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.WriteTimeout">
            <summary>
            Get or set a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
            </summary>
            <remarks>
            Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
            </remarks>
            <returns>A value, in milliseconds, that determines how long the stream will attempt to write before timing out.</returns>
            <value>The write timeout.</value>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.Position">
            <summary>
            Get or set the position within the current stream.
            </summary>
            <remarks>
            Gets or sets the position within the current stream.
            </remarks>
            <returns>The current position within the stream.</returns>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MailKit.Net.Pop3.Pop3Stream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            Gets the length of the stream, in bytes.
            </remarks>
            <returns>A long value representing the length of the stream in bytes.</returns>
            <value>The length of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.Read(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The stream is in line mode (see <see cref="F:MailKit.Net.Pop3.Pop3StreamMode.Line"/>).
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The stream is in line mode (see <see cref="F:MailKit.Net.Pop3.Pop3StreamMode.Line"/>).
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The stream is in line mode (see <see cref="F:MailKit.Net.Pop3.Pop3StreamMode.Line"/>).
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.ReadLine(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Reads a single line of input from the stream.
            </summary>
            <remarks>
            This method should be called in a loop until it returns <c>true</c>.
            </remarks>
            <returns><c>true</c>, if reading the line is complete, <c>false</c> otherwise.</returns>
            <param name="ostream">The output stream to write the line data into.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.ReadLineAsync(System.IO.Stream,System.Threading.CancellationToken)">
            <summary>
            Asynchronously reads a single line of input from the stream.
            </summary>
            <remarks>
            This method should be called in a loop until it returns <c>true</c>.
            </remarks>
            <returns><c>true</c>, if reading the line is complete, <c>false</c> otherwise.</returns>
            <param name="ostream">The output stream to write the line data into.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.Write(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.Flush(System.Threading.CancellationToken)">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.Flush">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream.
            </summary>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
        </member>
        <member name="M:MailKit.Net.Pop3.Pop3Stream.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Pop3.Pop3Stream"/> and
            optionally releases the managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MailKit.Net.Proxy.IProxyClient">
            <summary>
            An interface for connecting to services via a proxy.
            </summary>
            <remarks>
            Implemented by <see cref="T:MailKit.Net.Smtp.SmtpClient"/>
            and <see cref="T:MailKit.Net.Pop3.Pop3Client"/>.
            </remarks>
        </member>
        <member name="P:MailKit.Net.Proxy.IProxyClient.ProxyCredentials">
            <summary>
            Gets the proxy credentials.
            </summary>
            <remarks>
            Gets the credentials to use when authenticating with the proxy server.
            </remarks>
            <value>The proxy credentials.</value>
        </member>
        <member name="P:MailKit.Net.Proxy.IProxyClient.ProxyHost">
            <summary>
            Get the proxy host.
            </summary>
            <remarks>
            Gets the host name of the proxy server.
            </remarks>
            <value>The host name of the proxy server.</value>
        </member>
        <member name="P:MailKit.Net.Proxy.IProxyClient.ProxyPort">
            <summary>
            Get the proxy port.
            </summary>
            <remarks>
            Gets the port to use when connecting to the proxy server.
            </remarks>
            <value>The proxy port.</value>
        </member>
        <member name="P:MailKit.Net.Proxy.IProxyClient.LocalEndPoint">
            <summary>
            Get or set the local IP end point to use when connecting to a remote host.
            </summary>
            <remarks>
            Gets or sets the local IP end point to use when connecting to a remote host.
            </remarks>
            <value>The local IP end point or <c>null</c> to use the default end point.</value>
        </member>
        <member name="M:MailKit.Net.Proxy.IProxyClient.Connect(System.String,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Connect to the target host.
            </summary>
            <remarks>
            Connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.IProxyClient.ConnectAsync(System.String,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously connect to the target host.
            </summary>
            <remarks>
            Asynchronously connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.IProxyClient.Connect(System.String,System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Connect to the target host.
            </summary>
            <remarks>
            Connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="timeout">The timeout, in milliseconds.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.TimeoutException">
            The operation timed out.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.IProxyClient.ConnectAsync(System.String,System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously connect to the target host.
            </summary>
            <remarks>
            Asynchronously connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="timeout">The timeout, in milliseconds.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.TimeoutException">
            The operation timed out.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MailKit.Net.Proxy.ProxyClient">
            <summary>
            An abstract proxy client base class.
            </summary>
            <remarks>
            A proxy client can be used to connect to a service through a firewall that
            would otherwise be blocked.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyClient.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.ProxyClient"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.ProxyClient"/> class.
            </remarks>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The <paramref name="host"/> is a zero-length string.</para>
            <para>-or-</para>
            <para>The length of <paramref name="host"/> is greater than 255 characters.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyClient.#ctor(System.String,System.Int32,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.ProxyClient"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.ProxyClient"/> class.
            </remarks>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="credentials">The credentials to use to authenticate with the proxy server.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="host"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/>is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The <paramref name="host"/> is a zero-length string.</para>
            <para>-or-</para>
            <para>The length of <paramref name="host"/> is greater than 255 characters.</para>
            </exception>
        </member>
        <member name="P:MailKit.Net.Proxy.ProxyClient.ProxyCredentials">
            <summary>
            Gets the proxy credentials.
            </summary>
            <remarks>
            Gets the credentials to use when authenticating with the proxy server.
            </remarks>
            <value>The proxy credentials.</value>
        </member>
        <member name="P:MailKit.Net.Proxy.ProxyClient.ProxyHost">
            <summary>
            Get the proxy host.
            </summary>
            <remarks>
            Gets the host name of the proxy server.
            </remarks>
            <value>The host name of the proxy server.</value>
        </member>
        <member name="P:MailKit.Net.Proxy.ProxyClient.ProxyPort">
            <summary>
            Get the proxy port.
            </summary>
            <remarks>
            Gets the port to use when connecting to the proxy server.
            </remarks>
            <value>The proxy port.</value>
        </member>
        <member name="P:MailKit.Net.Proxy.ProxyClient.LocalEndPoint">
            <summary>
            Get or set the local IP end point to use when connecting to a remote host.
            </summary>
            <remarks>
            Gets or sets the local IP end point to use when connecting to a remote host.
            </remarks>
            <value>The local IP end point or <c>null</c> to use the default end point.</value>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyClient.Connect(System.String,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Connect to the target host.
            </summary>
            <remarks>
            Connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyClient.ConnectAsync(System.String,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously connect to the target host.
            </summary>
            <remarks>
            Asynchronously connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyClient.Connect(System.String,System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Connect to the target host.
            </summary>
            <remarks>
            Connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="timeout">The timeout, in milliseconds.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="port"/> is not between <c>1</c> and <c>65535</c>.</para>
            <para>-or-</para>
            <para><paramref name="timeout"/> is less than <c>-1</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.TimeoutException">
            The operation timed out.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyClient.ConnectAsync(System.String,System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously connect to the target host.
            </summary>
            <remarks>
            Asynchronously connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="timeout">The timeout, in milliseconds.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="port"/> is not between <c>1</c> and <c>65535</c>.</para>
            <para>-or-</para>
            <para><paramref name="timeout"/> is less than <c>-1</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.TimeoutException">
            The operation timed out.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MailKit.Net.Proxy.ProxyProtocolException">
            <summary>
            A proxy protocol exception.
            </summary>
            <remarks>
            The exception that is thrown when there is an error communicating with a proxy server.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyProtocolException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Proxy.ProxyProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Proxy.ProxyProtocolException"/> from the serialized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyProtocolException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Proxy.ProxyProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Proxy.ProxyProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">An inner exception.</param>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyProtocolException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Proxy.ProxyProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Proxy.ProxyProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Net.Proxy.ProxyProtocolException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Proxy.ProxyProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Proxy.ProxyProtocolException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.Net.Proxy.Socks4aClient">
            <summary>
            A SOCKS4a proxy client.
            </summary>
            <remarkas>
            A SOCKS4a proxy client.
            </remarkas>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks4aClient.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks4aClient"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks4aClient"/> class.
            </remarks>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The <paramref name="host"/> is a zero-length string.</para>
            <para>-or-</para>
            <para>The length of <paramref name="host"/> is greater than 255 characters.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks4aClient.#ctor(System.String,System.Int32,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks4Client"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks4Client"/> class.
            </remarks>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="credentials">The credentials to use to authenticate with the proxy server.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="host"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/>is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
        </member>
        <member name="T:MailKit.Net.Proxy.Socks4Client">
            <summary>
            A SOCKS4 proxy client.
            </summary>
            <remarkas>
            A SOCKS4 proxy client.
            </remarkas>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks4Client.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks4Client"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks4Client"/> class.
            </remarks>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The <paramref name="host"/> is a zero-length string.</para>
            <para>-or-</para>
            <para>The length of <paramref name="host"/> is greater than 255 characters.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks4Client.#ctor(System.String,System.Int32,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks4Client"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks4Client"/> class.
            </remarks>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="credentials">The credentials to use to authenticate with the proxy server.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="host"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/>is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
        </member>
        <member name="P:MailKit.Net.Proxy.Socks4Client.IsSocks4a">
            <summary>
            Get or set whether this <see cref="T:MailKit.Net.Proxy.Socks4Client"/> is a Socks4a client.
            </summary>
            <remarks>
            Gets or sets whether this <see cref="T:MailKit.Net.Proxy.Socks4Client"/> is a Socks4a client.
            </remarks>
            <value><c>true</c> if is is a Socks4a client; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks4Client.Connect(System.String,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Connect to the target host.
            </summary>
            <remarks>
            Connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks4Client.ConnectAsync(System.String,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously connect to the target host.
            </summary>
            <remarks>
            Asynchronously connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MailKit.Net.Proxy.Socks5Client">
            <summary>
            A SOCKS5 proxy client.
            </summary>
            <remarkas>
            A SOCKS5 proxy client.
            </remarkas>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks5Client.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks5Client"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks5Client"/> class.
            </remarks>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The <paramref name="host"/> is a zero-length string.</para>
            <para>-or-</para>
            <para>The length of <paramref name="host"/> is greater than 255 characters.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks5Client.#ctor(System.String,System.Int32,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks5Client"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.Socks5Client"/> class.
            </remarks>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="credentials">The credentials to use to authenticate with the proxy server.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="host"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/>is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>The <paramref name="host"/> is a zero-length string.</para>
            <para>-or-</para>
            <para>The length of <paramref name="host"/> is greater than 255 characters.</para>
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks5Client.Connect(System.String,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Connect to the target host.
            </summary>
            <remarks>
            Connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.Socks5Client.ConnectAsync(System.String,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously connect to the target host.
            </summary>
            <remarks>
            Asynchronously connects to the target host and port through the proxy server.
            </remarks>
            <returns>The connected socket.</returns>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MailKit.Net.Proxy.SocksClient">
            <summary>
            An abstract SOCKS proxy client.
            </summary>
            <remarks>
            An abstract SOCKS proxy client.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Proxy.SocksClient.#ctor(System.Int32,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.SocksClient"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.SocksClient"/> class.
            </remarks>
            <param name="version">The SOCKS protocol version.</param>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
        </member>
        <member name="M:MailKit.Net.Proxy.SocksClient.#ctor(System.Int32,System.String,System.Int32,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.SocksClient"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.Net.SocksClient"/> class.
            </remarks>
            <param name="version">The SOCKS protocol version.</param>
            <param name="host">The host name of the proxy server.</param>
            <param name="port">The proxy server port.</param>
            <param name="credentials">The credentials to use to authenticate with the proxy server.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="host"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/>is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>1</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
        </member>
        <member name="P:MailKit.Net.Proxy.SocksClient.SocksVersion">
            <summary>
            Get the SOCKS protocol version.
            </summary>
            <remarks>
            Gets the SOCKS protocol version.
            </remarks>
            <value>The SOCKS protocol version.</value>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpClient">
            <summary>
            An SMTP client that can be used to send email messages.
            </summary>
            <remarks>
            <para>The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> class supports both the "smtp" and "smtps" protocols. The "smtp"
            protocol makes a clear-text connection to the SMTP server and does not use SSL or TLS unless the SMTP
            server supports the <a href="https://tools.ietf.org/html/rfc3207">STARTTLS</a> extension. The "smtps"
            protocol, however, connects to the SMTP server using an SSL-wrapped connection.</para>
            <para>The connection established by any of the
            <a href="Overload_MailKit_Net_Smtp_SmtpClient_Connect.htm">Connect</a> methods may be re-used if an
            application wishes to send multiple messages to the same SMTP server. Since connecting and authenticating
            can be expensive operations, re-using a connection can significantly improve performance when sending a
            large number of messages to the same SMTP server over a short period of time.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessages" />
            </example>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.AuthenticateAsync(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The SMTP server does not support authentication.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.AuthenticateAsync(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the SMTP server supports authentication, then the SASL mechanisms
            that both the client and server support are tried in order of greatest
            security to weakest security. Once a SASL authentication mechanism is
            found that both client and server support, the credentials are used to
            authenticate.</para>
            <para>If, on the other hand, authentication is not supported by the SMTP
            server, then this method will throw <see cref="T:System.NotSupportedException"/>.
            The <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> property can be checked for the
            <see cref="F:MailKit.Net.Smtp.SmtpCapabilities.Authentication"/> flag to make sure the
            SMTP server supports authentication before calling this method.</para>
            <note type="tip"> To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encoding">The text encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The SMTP server does not support authentication.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.ConnectAsync(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified SMTP or SMTP/S server.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified SMTP or SMTP/S server.</para>
            <para>If the <paramref name="port"/> has a value of <c>0</c>, then the
            <paramref name="options"/> parameter is used to determine the default port to
            connect to. The default port used with <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>
            is <c>465</c>. All other values will use a default port of <c>25</c>.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>465</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> will be
            populated.</para>
            <note type="note">The connection established by any of the
            <a href="Overload_MailKit_Net_Smtp_SmtpClient_ConnectAsync.htm">Connect</a>
            methods may be re-used if an application wishes to send multiple messages
            to the same SMTP server. Since connecting and authenticating can be expensive
            operations, re-using a connection can significantly improve performance when
            sending a large number of messages to the same SMTP server over a short
            period of time.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the SMTP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            An SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.ConnectAsync(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified SMTP or SMTP/S server using the provided socket.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified SMTP or SMTP/S server using the provided socket.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>465</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the SMTP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            An SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.ConnectAsync(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified SMTP or SMTP/S server using the provided socket.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified SMTP or SMTP/S server using the provided socket.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>465</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the SMTP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            An SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.DisconnectAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously disconnect the service.
            </summary>
            <remarks>
            If <paramref name="quit"/> is <c>true</c>, a <c>QUIT</c> command will be issued in order to disconnect cleanly.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="quit">If set to <c>true</c>, a <c>QUIT</c> command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.NoOpAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously ping the SMTP server to keep the connection alive.
            </summary>
            <remarks>Mail servers, if left idle for too long, will automatically drop the connection.</remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.SendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message.
            </summary>
            <remarks>
            <para>Sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessageWithOptions"/>
            </example>
            <returns>An asynchronous task context.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.SendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Sends the message by uploading it to an SMTP server using the supplied sender and recipients.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="sender"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.ExpandAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously expand a mailing address alias.
            </summary>
            <remarks>
            Expands a mailing address alias.
            </remarks>
            <returns>The expanded list of mailbox addresses.</returns>
            <param name="alias">The mailing address alias.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="alias"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="alias"/> is an empty string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before verifying the existence of an address.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.VerifyAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously verify the existence of a mailbox address.
            </summary>
            <remarks>
            Verifies the existence a mailbox address with the SMTP server, returning the expanded
            mailbox address if it exists.
            </remarks>
            <returns>The expanded mailbox address.</returns>
            <param name="address">The mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="address"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="address"/> is an empty string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before verifying the existence of an address.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpClient"/> class.
            </summary>
            <remarks>
            Before you can send messages with the <see cref="T:MailKit.Net.Smtp.SmtpClient"/>, you must first call one of
            the <a href="Overload_MailKit_Net_Smtp_SmtpClient_Connect.htm">Connect</a> methods.
            Depending on whether the SMTP server requires authenticating or not, you may also need to
            authenticate using one of the
            <a href="Overload_MailKit_Net_Smtp_SmtpClient_Authenticate.htm">Authenticate</a> methods.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessages" />
            </example>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.#ctor(MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpClient"/> class.
            </summary>
            <remarks>
            Before you can send messages with the <see cref="T:MailKit.Net.Smtp.SmtpClient"/>, you must first call one of
            the <a href="Overload_MailKit_Net_Smtp_SmtpClient_Connect.htm">Connect</a> methods.
            Depending on whether the SMTP server requires authenticating or not, you may also need to
            authenticate using one of the
            <a href="Overload_MailKit_Net_Smtp_SmtpClient_Authenticate.htm">Authenticate</a> methods.
            </remarks>
            <param name="protocolLogger">The protocol logger.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocolLogger"/> is <c>null</c>.
            </exception>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ProtocolLogger"/>
            </example>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.Stream">
            <summary>
            Get the underlying SMTP stream.
            </summary>
            <remarks>
            Gets the underlying SMTP stream.
            </remarks>
            <value>The SMTP stream.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the SMTP server.
            </summary>
            <remarks>
            <para>Gets an object that can be used to synchronize access to the SMTP server between multiple threads.</para>
            <para>When using <see cref="T:MailKit.Net.Smtp.SmtpClient"/> methods from multiple threads, it is important to lock the
            <see cref="P:MailKit.Net.Smtp.SmtpClient.SyncRoot"/> object for thread safety.</para>
            </remarks>
            <value>The lock object.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.Protocol">
            <summary>
            Get the protocol supported by the message service.
            </summary>
            <remarks>
            Gets the protocol supported by the message service.
            </remarks>
            <value>The protocol.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.Capabilities">
            <summary>
            Get the capabilities supported by the SMTP server.
            </summary>
            <remarks>
            The capabilities will not be known until a successful connection has been made 
            and may change once the client is authenticated.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="Capabilities"/>
            </example>
            <value>The capabilities.</value>
            <exception cref="T:System.ArgumentException">
            Capabilities cannot be enabled, they may only be disabled.
            </exception>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.LocalDomain">
            <summary>
            Gets or sets the local domain.
            </summary>
            <remarks>
            The local domain is used in the HELO or EHLO commands sent to
            the SMTP server. If left unset, the local IP address will be
            used instead.
            </remarks>
            <value>The local domain.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.MaxSize">
            <summary>
            Get the maximum message size supported by the server.
            </summary>
            <remarks>
            <para>The maximum message size will not be known until a successful connection has
            been made and may change once the client is authenticated.</para>
            <note type="note">This value is only relevant if the <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> includes
            the <see cref="F:MailKit.Net.Smtp.SmtpCapabilities.Size"/> flag.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="Capabilities"/>
            </example>
            <value>The maximum message size supported by the server.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms">
            <summary>
            Get the authentication mechanisms supported by the SMTP server.
            </summary>
            <remarks>
            <para>The authentication mechanisms are queried as part of the connection
            process.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> hash set
            before authenticating.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="Capabilities"/>
            </example>
            <value>The authentication mechanisms.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.Timeout">
            <summary>
            Get or set the timeout for network streaming operations, in milliseconds.
            </summary>
            <remarks>
            Gets or sets the underlying socket stream's <see cref="P:System.IO.Stream.ReadTimeout"/>
            and <see cref="P:System.IO.Stream.WriteTimeout"/> values.
            </remarks>
            <value>The timeout in milliseconds.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.IsConnected">
            <summary>
            Get whether or not the client is currently connected to an SMTP server.
            </summary>
            <remarks>
            <para>The <see cref="P:MailKit.Net.Smtp.SmtpClient.IsConnected"/> state is set to <c>true</c> immediately after
            one of the <a href="Overload_MailKit_Net_Smtp_SmtpClient_Connect.htm">Connect</a>
            methods succeeds and is not set back to <c>false</c> until either the client
            is disconnected via <see cref="M:MailKit.Net.Smtp.SmtpClient.Disconnect(System.Boolean,System.Threading.CancellationToken)"/> or until an
            <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/> is thrown while attempting to read or write to
            the underlying network socket.</para>
            <para>When an <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/> is caught, the connection state of the
            <see cref="T:MailKit.Net.Smtp.SmtpClient"/> should be checked before continuing.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ExceptionHandling"/>
            </example>
            <value><c>true</c> if the client is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.IsSecure">
            <summary>
            Get whether or not the connection is secure (typically via SSL or TLS).
            </summary>
            <remarks>
            Gets whether or not the connection is secure (typically via SSL or TLS).
            </remarks>
            <value><c>true</c> if the connection is secure; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.IsAuthenticated">
            <summary>
            Get whether or not the client is currently authenticated with the SMTP server.
            </summary>
            <remarks>
            <para>Gets whether or not the client is currently authenticated with the SMTP server.</para>
            <para>To authenticate with the SMTP server, use one of the
            <a href="Overload_MailKit_Net_Smtp_SmtpClient_Authenticate.htm">Authenticate</a>
            methods.</para>
            </remarks>
            <value><c>true</c> if the client is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.OnNoRecipientsAccepted(MimeKit.MimeMessage)">
            <summary>
            Invoked only when no recipients were accepted by the SMTP server.
            </summary>
            <remarks>
            If <see cref="M:MailKit.Net.Smtp.SmtpClient.OnRecipientNotAccepted(MimeKit.MimeMessage,MimeKit.MailboxAddress,MailKit.Net.Smtp.SmtpResponse)"/> is overridden to not throw
            an exception, this method should be overridden to throw an appropriate
            exception instead.
            </remarks>
            <param name="message">The message being sent.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Authenticate(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The SMTP server does not support authentication.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Authenticate(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the SMTP server supports authentication, then the SASL mechanisms
            that both the client and server support are tried in order of greatest
            security to weakest security. Once a SASL authentication mechanism is
            found that both client and server support, the credentials are used to
            authenticate.</para>
            <para>If, on the other hand, authentication is not supported by the SMTP
            server, then this method will throw <see cref="T:System.NotSupportedException"/>.
            The <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> property can be checked for the
            <see cref="F:MailKit.Net.Smtp.SmtpCapabilities.Authentication"/> flag to make sure the
            SMTP server supports authentication before calling this method.</para>
            <note type="tip"> To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <param name="encoding">The text encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The SMTP server does not support authentication.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Connect(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified SMTP or SMTP/S server.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified SMTP or SMTP/S server.</para>
            <para>If the <paramref name="port"/> has a value of <c>0</c>, then the
            <paramref name="options"/> parameter is used to determine the default port to
            connect to. The default port used with <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>
            is <c>465</c>. All other values will use a default port of <c>25</c>.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>465</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> will be
            populated.</para>
            <note type="note">The connection established by any of the
            <a href="Overload_MailKit_Net_Smtp_SmtpClient_Connect.htm">Connect</a>
            methods may be re-used if an application wishes to send multiple messages
            to the same SMTP server. Since connecting and authenticating can be expensive
            operations, re-using a connection can significantly improve performance when
            sending a large number of messages to the same SMTP server over a short
            period of time.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the SMTP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            An SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Connect(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified SMTP or SMTP/S server using the provided socket.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified SMTP or SMTP/S server using the provided socket.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>465</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the SMTP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            An SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Connect(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified SMTP or SMTP/S server using the provided stream.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified SMTP or SMTP/S server using the provided stream.</para>
            <para>If the <paramref name="options"/> has a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, then the <paramref name="port"/> is used
            to determine the default security options. If the <paramref name="port"/> has a value
            of <c>465</c>, then the default options used will be
            <see cref="F:MailKit.Security.SecureSocketOptions.SslOnConnect"/>. All other values will use
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable"/>.</para>
            <para>Once a connection is established, properties such as
            <see cref="P:MailKit.Net.Smtp.SmtpClient.AuthenticationMechanisms"/> and <see cref="P:MailKit.Net.Smtp.SmtpClient.Capabilities"/> will be
            populated.</para>
            <note type="info">With the exception of using the <paramref name="port"/> to determine the
            default <see cref="T:MailKit.Security.SecureSocketOptions"/> to use when the <paramref name="options"/> value
            is <see cref="F:MailKit.Security.SecureSocketOptions.Auto"/>, the <paramref name="host"/> and
            <paramref name="port"/> parameters are only used for logging purposes.</note>
            </remarks>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is already connected.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <paramref name="options"/> was set to
            <see cref="F:MailKit.Security.SecureSocketOptions.StartTls"/>
            and the SMTP server does not support the STARTTLS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled.
            </exception>
            <exception cref="T:MailKit.Security.SslHandshakeException">
            An error occurred during the SSL/TLS negotiations.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            An SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Disconnect(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Disconnect the service.
            </summary>
            <remarks>
            If <paramref name="quit"/> is <c>true</c>, a <c>QUIT</c> command will be issued in order to disconnect cleanly.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <param name="quit">If set to <c>true</c>, a <c>QUIT</c> command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.NoOp(System.Threading.CancellationToken)">
            <summary>
            Ping the SMTP server to keep the connection alive.
            </summary>
            <remarks>Mail servers, if left idle for too long, will automatically drop the connection.</remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.OnSenderAccepted(MimeKit.MimeMessage,MimeKit.MailboxAddress,MailKit.Net.Smtp.SmtpResponse)">
            <summary>
            Invoked when the sender is accepted by the SMTP server.
            </summary>
            <remarks>
            The default implementation does nothing.
            </remarks>
            <param name="message">The message being sent.</param>
            <param name="mailbox">The mailbox used in the <c>MAIL FROM</c> command.</param>
            <param name="response">The response to the <c>MAIL FROM</c> command.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.OnSenderNotAccepted(MimeKit.MimeMessage,MimeKit.MailboxAddress,MailKit.Net.Smtp.SmtpResponse)">
            <summary>
            Invoked when a recipient is not accepted by the SMTP server.
            </summary>
            <remarks>
            The default implementation throws an appropriate <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </remarks>
            <param name="message">The message being sent.</param>
            <param name="mailbox">The mailbox used in the <c>MAIL FROM</c> command.</param>
            <param name="response">The response to the <c>MAIL FROM</c> command.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.GetEnvelopeId(MimeKit.MimeMessage)">
            <summary>
            Get the envelope identifier to be used with delivery status notifications.
            </summary>
            <remarks>
            <para>The envelope identifier, if non-empty, is useful in determining which message a delivery
            status notification was issued for.</para>
            <para>The envelope identifier should be unique and may be up to 100 characters in length, but
            must consist only of printable ASCII characters and no white space.</para>
            <para>For more information, see
            <a href="https://tools.ietf.org/html/rfc3461#section-4.4">rfc3461, section 4.4</a>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="DeliveryStatusNotification"/>
            </example>
            <returns>The envelope identifier.</returns>
            <param name="message">The message.</param>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpClient.DeliveryStatusNotificationType">
            <summary>
            Get or set how much of the message to include in any failed delivery status notifications.
            </summary>
            <remarks>
            Gets or sets how much of the message to include in any failed delivery status notifications.
            </remarks>
            <value>A value indicating how much of the message to include in a failure delivery status notification.</value>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.OnRecipientAccepted(MimeKit.MimeMessage,MimeKit.MailboxAddress,MailKit.Net.Smtp.SmtpResponse)">
            <summary>
            Invoked when a recipient is accepted by the SMTP server.
            </summary>
            <remarks>
            The default implementation does nothing.
            </remarks>
            <param name="message">The message being sent.</param>
            <param name="mailbox">The mailbox used in the <c>RCPT TO</c> command.</param>
            <param name="response">The response to the <c>RCPT TO</c> command.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.OnRecipientNotAccepted(MimeKit.MimeMessage,MimeKit.MailboxAddress,MailKit.Net.Smtp.SmtpResponse)">
            <summary>
            Invoked when a recipient is not accepted by the SMTP server.
            </summary>
            <remarks>
            The default implementation throws an appropriate <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </remarks>
            <param name="message">The message being sent.</param>
            <param name="mailbox">The mailbox used in the <c>RCPT TO</c> command.</param>
            <param name="response">The response to the <c>RCPT TO</c> command.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.GetDeliveryStatusNotifications(MimeKit.MimeMessage,MimeKit.MailboxAddress)">
            <summary>
            Get the types of delivery status notification desired for the specified recipient mailbox.
            </summary>
            <remarks>
            Gets the types of delivery status notification desired for the specified recipient mailbox.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="DeliveryStatusNotification"/>
            </example>
            <returns>The desired delivery status notification type.</returns>
            <param name="message">The message being sent.</param>
            <param name="mailbox">The mailbox.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Send(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message.
            </summary>
            <remarks>
            <para>Sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessageWithOptions"/>
            </example>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Send(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Sends the message by uploading it to an SMTP server using the supplied sender and recipients.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="sender"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Expand(System.String,System.Threading.CancellationToken)">
            <summary>
            Expand a mailing address alias.
            </summary>
            <remarks>
            Expands a mailing address alias.
            </remarks>
            <returns>The expanded list of mailbox addresses.</returns>
            <param name="alias">The mailing address alias.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="alias"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="alias"/> is an empty string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before verifying the existence of an address.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Verify(System.String,System.Threading.CancellationToken)">
            <summary>
            Verify the existence of a mailbox address.
            </summary>
            <remarks>
            Verifies the existence a mailbox address with the SMTP server, returning the expanded
            mailbox address if it exists.
            </remarks>
            <returns>The expanded mailbox address.</returns>
            <param name="address">The mailbox address.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="address"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="address"/> is an empty string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.Net.Smtp.SmtpClient"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before verifying the existence of an address.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpCommandException">
            The SMTP command failed.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpClient.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Smtp.SmtpClient"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Smtp.SmtpClient"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpCapabilities">
            <summary>
            Capabilities supported by an SMTP server.
            </summary>
            <remarks>
            Capabilities are read as part of the response to the EHLO command that
            is issued during the connection phase of the <see cref="T:MailKit.Net.Smtp.SmtpClient"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="Capabilities"/>
            </example>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.None">
            <summary>
            The server does not support any additional extensions.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.Size">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc1870">SIZE</a> extension
            and may have a maximum message size limitation (see <see cref="P:MailKit.Net.Smtp.SmtpClient.MaxSize"/>).
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.Dsn">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc1891">DSN</a> extension,
            allowing clients to specify which (if any) recipients they would like to receive delivery
            notifications for.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.EnhancedStatusCodes">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2034">ENHANCEDSTATUSCODES</a>
            extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.Authentication">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2554">AUTH</a> extension,
            allowing clients to authenticate via supported SASL mechanisms.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.EightBitMime">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2821">8BITMIME</a> extension,
            allowing clients to send messages using the "8bit" Content-Transfer-Encoding.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.Pipelining">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc2920">PIPELINING</a> extension,
            allowing clients to send multiple commands at once in order to reduce round-trip latency.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.BinaryMime">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3030">BINARYMIME</a> extension.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.Chunking">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3030">CHUNKING</a> extension,
            allowing clients to upload messages in chunks.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.StartTLS">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc3207">STARTTLS</a> extension,
            allowing clients to switch to an encrypted SSL/TLS connection after connecting.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpCapabilities.UTF8">
            <summary>
            The server supports the <a href="https://tools.ietf.org/html/rfc6531">SMTPUTF8</a> extension.
            </summary>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpErrorCode">
            <summary>
            An enumeration of the possible error codes that may be reported by a <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </summary>
            <remarks>
            An enumeration of the possible error codes that may be reported by a <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ExceptionHandling"/>
            </example>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpErrorCode.MessageNotAccepted">
            <summary>
            The message was not accepted for delivery. This may happen if
            the server runs out of available disk space.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpErrorCode.SenderNotAccepted">
            <summary>
            The sender's mailbox address was not accepted. Check the
            <see cref="P:MailKit.Net.Smtp.SmtpCommandException.Mailbox"/> property for the
            mailbox used as the sender's mailbox address.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpErrorCode.RecipientNotAccepted">
            <summary>
            A recipient's mailbox address was not accepted. Check the
            <see cref="P:MailKit.Net.Smtp.SmtpCommandException.Mailbox"/> property for the
            particular recipient mailbox that was not acccepted.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpErrorCode.UnexpectedStatusCode">
            <summary>
            An unexpected status code was returned by the server.
            For more details, the <see cref="P:System.Exception.Message"/>
            property may provide some additional hints.
            </summary>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpCommandException">
            <summary>
            An SMTP protocol exception.
            </summary>
            <remarks>
            The exception that is thrown when an SMTP command fails. Unlike a <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/>,
            a <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/> does not require the <see cref="T:MailKit.Net.Smtp.SmtpClient"/> to be reconnected.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ExceptionHandling"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpCommandException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/> from the serialized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpCommandException.#ctor(MailKit.Net.Smtp.SmtpErrorCode,MailKit.Net.Smtp.SmtpStatusCode,MimeKit.MailboxAddress,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </remarks>
            <param name="code">The error code.</param>
            <param name="status">The status code.</param>
            <param name="mailbox">The rejected mailbox.</param>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpCommandException.#ctor(MailKit.Net.Smtp.SmtpErrorCode,MailKit.Net.Smtp.SmtpStatusCode,MimeKit.MailboxAddress,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </remarks>
            <param name="code">The error code.</param>
            <param name="status">The status code.</param>
            <param name="mailbox">The rejected mailbox.</param>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpCommandException.#ctor(MailKit.Net.Smtp.SmtpErrorCode,MailKit.Net.Smtp.SmtpStatusCode,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </remarks>
            <param name="code">The error code.</param>
            <param name="status">The status code.</param>>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpCommandException.#ctor(MailKit.Net.Smtp.SmtpErrorCode,MailKit.Net.Smtp.SmtpStatusCode,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </remarks>
            <param name="code">The error code.</param>
            <param name="status">The status code.</param>>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpCommandException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Serializes the state of the <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpCommandException.ErrorCode">
            <summary>
            Gets the error code which may provide additional information.
            </summary>
            <remarks>
            The error code can be used to programatically deal with the
            exception without necessarily needing to display the raw
            exception message to the user.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ExceptionHandling"/>
            </example>
            <value>The status code.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpCommandException.Mailbox">
            <summary>
            Gets the mailbox that the error occurred on.
            </summary>
            <remarks>
            This property will only be available when the <see cref="P:MailKit.Net.Smtp.SmtpCommandException.ErrorCode"/>
            value is either <see cref="F:MailKit.Net.Smtp.SmtpErrorCode.SenderNotAccepted"/> or
            <see cref="F:MailKit.Net.Smtp.SmtpErrorCode.RecipientNotAccepted"/> and may be used
            to help the user decide how to proceed.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ExceptionHandling"/>
            </example>
            <value>The mailbox.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpCommandException.StatusCode">
            <summary>
            Gets the status code returned by the SMTP server.
            </summary>
            <remarks>
            The raw SMTP status code that resulted in the <see cref="T:MailKit.Net.Smtp.SmtpCommandException"/>
            being thrown.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ExceptionHandling"/>
            </example>
            <value>The status code.</value>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpDataFilter">
            <summary>
            A special stream filter that escapes lines beginning with a '.'
            as needed when uploading a message to an SMTP server.
            </summary>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpDataFilter.Filter(System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Filter the specified input.
            </summary>
            <returns>The filtered output.</returns>
            <param name="input">The input buffer.</param>
            <param name="startIndex">The starting index of the input buffer.</param>
            <param name="length">Length.</param>
            <param name="outputIndex">Output index.</param>
            <param name="outputLength">Output length.</param>
            <param name="flush">If set to <c>true</c> flush.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpDataFilter.Reset">
            <summary>
            Resets the filter.
            </summary>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpProtocolException">
            <summary>
            An SMTP protocol exception.
            </summary>
            <remarks>
            The exception that is thrown when there is an error communicating with an SMTP server. An
            <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/> is typically fatal and requires the <see cref="T:MailKit.Net.Smtp.SmtpClient"/>
            to be reconnected.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ExceptionHandling"/>
            </example>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpProtocolException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/> from the serialized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpProtocolException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpProtocolException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpProtocolException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpProtocolException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpResponse">
            <summary>
            An SMTP command response.
            </summary>
            <remarks>
            An SMTP command response.
            </remarks>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpResponse.StatusCode">
            <summary>
            Get the status code.
            </summary>
            <remarks>
            Gets the status code.
            </remarks>
            <value>The status code.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpResponse.Response">
            <summary>
            Get the response text.
            </summary>
            <remarks>
            Gets the response text.
            </remarks>
            <value>The response text.</value>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpResponse.#ctor(MailKit.Net.Smtp.SmtpStatusCode,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpResponse"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpResponse"/>.
            </remarks>
            <param name="code">The status code.</param>
            <param name="response">The response text.</param>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpStatusCode">
            <summary>
            An enumeration of possible SMTP status codes.
            </summary>
            <remarks>
            An enumeration of possible SMTP status codes.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.SystemStatus">
            <summary>
            The "system status" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.HelpMessage">
            <summary>
            The "help" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.ServiceReady">
            <summary>
            The "service ready" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.ServiceClosingTransmissionChannel">
            <summary>
            The "service closing transmission channel" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.AuthenticationSuccessful">
            <summary>
            The "authentication successful" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.Ok">
            <summary>
            The general purpose "OK" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.UserNotLocalWillForward">
            <summary>
            The "User not local; will forward" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.CannotVerifyUserWillAttemptDelivery">
            <summary>
            The "cannot verify user; will attempt delivery" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.AuthenticationChallenge">
            <summary>
            The "authentication challenge" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.StartMailInput">
            <summary>
            The "start mail input" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.ServiceNotAvailable">
            <summary>
            The "service not available" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.PasswordTransitionNeeded">
            <summary>
            The "password transition needed" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.MailboxBusy">
            <summary>
            The "mailbox busy" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.ErrorInProcessing">
            <summary>
            The "error in processing" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.InsufficientStorage">
            <summary>
            The "insufficient storage" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.TemporaryAuthenticationFailure">
            <summary>
            The "temporary authentication failure" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.CommandUnrecognized">
            <summary>
            The "command unrecognized" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.SyntaxError">
            <summary>
            The "syntax error" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.CommandNotImplemented">
            <summary>
            The "command not implemented" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.BadCommandSequence">
            <summary>
            The "bad command sequence" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.CommandParameterNotImplemented">
            <summary>
            The "command parameter not implemented" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.AuthenticationRequired">
            <summary>
            The "authentication required" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.AuthenticationMechanismTooWeak">
            <summary>
            The "authentication mechanism too weak" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.AuthenticationInvalidCredentials">
            <summary>
            The "authentication invalid credentials" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.EncryptionRequiredForAuthenticationMechanism">
            <summary>
            The "encryption required for authentication mechanism" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.MailboxUnavailable">
            <summary>
            The "mailbox unavailable" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.UserNotLocalTryAlternatePath">
            <summary>
            The "user not local try alternate path" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.ExceededStorageAllocation">
            <summary>
            The "exceeded storage allocation" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.MailboxNameNotAllowed">
            <summary>
            The "mailbox name not allowed" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.TransactionFailed">
            <summary>
            The "transaction failed" status code.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.SmtpStatusCode.MailFromOrRcptToParametersNotRecognizedOrNotImplemented">
            <summary>
            The "mail from/rcpt to parameters not recognized or not implemented" status code.
            </summary>
        </member>
        <member name="T:MailKit.Net.Smtp.SmtpStream">
            <summary>
            A stream for communicating with an SMTP server.
            </summary>
            <remarks>
            A stream capable of reading SMTP server responses.
            </remarks>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.#ctor(System.IO.Stream,System.Net.Sockets.Socket,MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Net.Smtp.SmtpStream"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Net.Smtp.SmtpStream"/>.
            </remarks>
            <param name="source">The underlying network stream.</param>
            <param name="socket">The underlying network socket.</param>
            <param name="protocolLogger">The protocol logger.</param>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.Stream">
            <summary>
            Get or sets the underlying network stream.
            </summary>
            <remarks>
            Gets or sets the underlying network stream.
            </remarks>
            <value>The underlying network stream.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.Socket">
            <summary>
            Get the underlying network socket.
            </summary>
            <remarks>
            Gets the underlying network socket.
            </remarks>
            <value>The underlying network socket.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.IsConnected">
            <summary>
            Get whether or not the stream is connected.
            </summary>
            <remarks>
            Gets whether or not the stream is connected.
            </remarks>
            <value><c>true</c> if the stream is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.CanRead">
            <summary>
            Get whether the stream supports reading.
            </summary>
            <remarks>
            Gets whether the stream supports reading.
            </remarks>
            <value><c>true</c> if the stream supports reading; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.CanWrite">
            <summary>
            Get whether the stream supports writing.
            </summary>
            <remarks>
            Gets whether the stream supports writing.
            </remarks>
            <value><c>true</c> if the stream supports writing; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.CanSeek">
            <summary>
            Get whether the stream supports seeking.
            </summary>
            <remarks>
            Gets whether the stream supports seeking.
            </remarks>
            <value><c>true</c> if the stream supports seeking; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.CanTimeout">
            <summary>
            Get whether the stream supports I/O timeouts.
            </summary>
            <remarks>
            Gets whether the stream supports I/O timeouts.
            </remarks>
            <value><c>true</c> if the stream supports I/O timeouts; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.ReadTimeout">
            <summary>
            Get or set a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
            </summary>
            <remarks>
            Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.
            </remarks>
            <returns>A value, in milliseconds, that determines how long the stream will attempt to read before timing out.</returns>
            <value>The read timeout.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.WriteTimeout">
            <summary>
            Get or set a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
            </summary>
            <remarks>
            Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.
            </remarks>
            <returns>A value, in milliseconds, that determines how long the stream will attempt to write before timing out.</returns>
            <value>The write timeout.</value>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.Position">
            <summary>
            Get or set the position within the current stream.
            </summary>
            <remarks>
            Gets or sets the position within the current stream.
            </remarks>
            <returns>The current position within the stream.</returns>
            <value>The position of the stream.</value>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="P:MailKit.Net.Smtp.SmtpStream.Length">
            <summary>
            Get the length of the stream, in bytes.
            </summary>
            <remarks>
            Gets the length of the stream, in bytes.
            </remarks>
            <returns>A long value representing the length of the stream in bytes.</returns>
            <value>The length of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.Read(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <remarks>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </remarks>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.ReadResponse(System.Threading.CancellationToken)">
            <summary>
            Read an SMTP server response.
            </summary>
            <remarks>
            Reads a full command response from the SMTP server.
            </remarks>
            <returns>The response.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.ReadResponseAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously read an SMTP server response.
            </summary>
            <remarks>
            Reads a full command response from the SMTP server.
            </remarks>
            <returns>The response.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.Net.Smtp.SmtpProtocolException">
            An SMTP protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.Write(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <remarks>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </remarks>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name='buffer'>The buffer to write.</param>
            <param name='offset'>The offset of the first byte to write.</param>
            <param name='count'>The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.Flush(System.Threading.CancellationToken)">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.Flush">
            <summary>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <remarks>
            Clears all buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </remarks>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream.
            </summary>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
        </member>
        <member name="M:MailKit.Net.Smtp.SmtpStream.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Smtp.SmtpStream"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MailKit.Net.Smtp.SmtpStream"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MailKit.Net.Smtp.DeliveryStatusNotificationType">
            <summary>
            Delivery status notification type.
            </summary>
            <remarks>
            The delivery status notification type specifies whether or not
            the full message should be included in any failed DSN issued for
            a message transmission as opposed to just the headers.
            </remarks>
        </member>
        <member name="F:MailKit.Net.Smtp.DeliveryStatusNotificationType.Unspecified">
            <summary>
            The return type is unspecified, allowing the server to choose.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.DeliveryStatusNotificationType.Full">
            <summary>
            The full message should be included in any failed delivery status notification issued by the server.
            </summary>
        </member>
        <member name="F:MailKit.Net.Smtp.DeliveryStatusNotificationType.HeadersOnly">
            <summary>
            Only the headers should be included in any failed delivery status notification issued by the server.
            </summary>
        </member>
        <member name="T:MailKit.Search.BinarySearchQuery">
            <summary>
            A binary search query such as an AND or OR expression.
            </summary>
            <remarks>
            A binary search query such as an AND or OR expression.
            </remarks>
        </member>
        <member name="M:MailKit.Search.BinarySearchQuery.#ctor(MailKit.Search.SearchTerm,MailKit.Search.SearchQuery,MailKit.Search.SearchQuery)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.BinarySearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new binary search query.
            </remarks>
            <param name="term">THe search term.</param>
            <param name="left">The left expression.</param>
            <param name="right">The right expression.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="left"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="right"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Search.BinarySearchQuery.Left">
            <summary>
            Gets the left operand of the expression.
            </summary>
            <remarks>
            Gets the left operand of the expression.
            </remarks>
            <value>The left operand.</value>
        </member>
        <member name="P:MailKit.Search.BinarySearchQuery.Right">
            <summary>
            Gets the right operand of the expression.
            </summary>
            <remarks>
            Gets the right operand of the expression.
            </remarks>
            <value>The right operand.</value>
        </member>
        <member name="T:MailKit.Search.DateSearchQuery">
            <summary>
            A date-based search query.
            </summary>
            <remarks>
            A date-based search query.
            </remarks>
        </member>
        <member name="M:MailKit.Search.DateSearchQuery.#ctor(MailKit.Search.SearchTerm,System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.DateSearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new date-based search query.
            </remarks>
            <param name="term">The search term.</param>
            <param name="date">The date.</param>
        </member>
        <member name="P:MailKit.Search.DateSearchQuery.Date">
            <summary>
            Gets the date value of the search query.
            </summary>
            <remarks>
            Gets the date value of the search query.
            </remarks>
            <value>The date.</value>
        </member>
        <member name="T:MailKit.Search.FilterSearchQuery">
            <summary>
            A filter-based search query.
            </summary>
            <remarks>
            A filter-based search query.
            </remarks>
        </member>
        <member name="M:MailKit.Search.FilterSearchQuery.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.FilterSearchQuery"/> class.
            </summary>
            <remarks>
            A search query that references a predefined filter.
            </remarks>
            <param name="name">The name of the filter.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.FilterSearchQuery.#ctor(MailKit.MetadataTag)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.FilterSearchQuery"/> class.
            </summary>
            <remarks>
            A search query that references a predefined filter.
            </remarks>
            <param name="filter">The metadata tag representing the filter.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="filter"/> does not reference a valid filter.
            </exception>
        </member>
        <member name="P:MailKit.Search.FilterSearchQuery.Name">
            <summary>
            Get the name of the filter.
            </summary>
            <remarks>
            Gets the name of the filter.
            </remarks>
            <value>The name of the filter.</value>
        </member>
        <member name="T:MailKit.Search.HeaderSearchQuery">
            <summary>
            A header-based search query.
            </summary>
            <remarks>
            A header-based search query.
            </remarks>
        </member>
        <member name="M:MailKit.Search.HeaderSearchQuery.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.HeaderSearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new header search query.
            </remarks>
            <param name="field">The header field name.</param>
            <param name="value">The value to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="value"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="field"/> is empty.
            </exception>
        </member>
        <member name="P:MailKit.Search.HeaderSearchQuery.Field">
            <summary>
            Gets the header field name.
            </summary>
            <remarks>
            Gets the header field name.
            </remarks>
            <value>The header field.</value>
        </member>
        <member name="P:MailKit.Search.HeaderSearchQuery.Value">
            <summary>
            Gets the value to match against.
            </summary>
            <remarks>
            Gets the value to match against.
            </remarks>
            <value>The value.</value>
        </member>
        <member name="T:MailKit.Search.NumericSearchQuery">
            <summary>
            A numeric search query.
            </summary>
            <remarks>
            A numeric search query.
            </remarks>
        </member>
        <member name="M:MailKit.Search.NumericSearchQuery.#ctor(MailKit.Search.SearchTerm,System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.NumericSearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new numeric search query.
            </remarks>
            <param name="term">The search term.</param>
            <param name="value">The numeric value.</param>
        </member>
        <member name="P:MailKit.Search.NumericSearchQuery.Value">
            <summary>
            Gets the numeric value to match against.
            </summary>
            <remarks>
            Gets the numeric value to match against.
            </remarks>
            <value>The numeric value.</value>
        </member>
        <member name="T:MailKit.Search.OrderBy">
            <summary>
            Specifies a sort order for search results.
            </summary>
            <remarks>
            You can combine multiple <see cref="T:MailKit.Search.OrderBy"/> rules to specify the sort
            order that <see cref="M:MailKit.IMailFolder.Sort(MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)"/>
            should return the results in.
            </remarks>
        </member>
        <member name="M:MailKit.Search.OrderBy.#ctor(MailKit.Search.OrderByType,MailKit.Search.SortOrder)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.OrderBy"/> class.
            </summary>
            <param name="type">The field to sort by.</param>
            <param name="order">The sort order.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="order"/> cannot be <see cref="F:MailKit.Search.SortOrder.None"/>.
            </exception>
        </member>
        <member name="P:MailKit.Search.OrderBy.Type">
            <summary>
            Gets the field used for sorting.
            </summary>
            <remarks>
            Gets the field used for sorting.
            </remarks>
            <value>The field used for sorting.</value>
        </member>
        <member name="P:MailKit.Search.OrderBy.Order">
            <summary>
            Gets the sort order.
            </summary>
            <remarks>
            Gets the sort order.
            </remarks>
            <value>The sort order.</value>
        </member>
        <member name="F:MailKit.Search.OrderBy.Arrival">
            <summary>
            Sort results by arrival date in ascending order.
            </summary>
            <remarks>
            Sort results by arrival date in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseArrival">
            <summary>
            Sort results by arrival date in desending order.
            </summary>
            <remarks>
            Sort results by arrival date in desending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.Cc">
            <summary>
            Sort results by the first email address in the Cc header in ascending order.
            </summary>
            <remarks>
            Sort results by the first email address in the Cc header in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseCc">
            <summary>
            Sort results by the first email address in the Cc header in descending order.
            </summary>
            <remarks>
            Sort results by the first email address in the Cc header in descending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.Date">
            <summary>
            Sort results by the sent date in ascending order.
            </summary>
            <remarks>
            Sort results by the sent date in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseDate">
            <summary>
            Sort results by the sent date in descending order.
            </summary>
            <remarks>
            Sort results by the sent date in descending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.From">
            <summary>
            Sort results by the first email address in the From header in ascending order.
            </summary>
            <remarks>
            Sort results by the first email address in the From header in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseFrom">
            <summary>
            Sort results by the first email address in the From header in descending order.
            </summary>
            <remarks>
            Sort results by the first email address in the From header in descending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.DisplayFrom">
            <summary>
            Sort results by the first display name in the From header in ascending order.
            </summary>
            <remarks>
            Sort results by the first display name in the From header in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseDisplayFrom">
            <summary>
            Sort results by the first display name in the From header in descending order.
            </summary>
            <remarks>
            Sort results by the first display name in the From header in descending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.Size">
            <summary>
            Sort results by the message size in ascending order.
            </summary>
            <remarks>
            Sort results by the message size in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseSize">
            <summary>
            Sort results by the message size in descending order.
            </summary>
            <remarks>
            Sort results by the message size in descending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.Subject">
            <summary>
            Sort results by the Subject header in ascending order.
            </summary>
            <remarks>
            Sort results by the Subject header in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseSubject">
            <summary>
            Sort results by the Subject header in descending order.
            </summary>
            <remarks>
            Sort results by the Subject header in descending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.To">
            <summary>
            Sort results by the first email address in the To header in ascending order.
            </summary>
            <remarks>
            Sort results by the first email address in the To header in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseTo">
            <summary>
            Sort results by the first email address in the To header in descending order.
            </summary>
            <remarks>
            Sort results by the first email address in the To header in descending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.DisplayTo">
            <summary>
            Sort results by the first display name in the To header in ascending order.
            </summary>
            <remarks>
            Sort results by the first display name in the To header in ascending order.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderBy.ReverseDisplayTo">
            <summary>
            Sort results by the first display name in the To header in descending order.
            </summary>
            <remarks>
            Sort results by the first display name in the To header in descending order.
            </remarks>
        </member>
        <member name="T:MailKit.Search.OrderByType">
            <summary>
            The field to sort by.
            </summary>
            <remarks>
            The field to sort by.
            </remarks>
        </member>
        <member name="F:MailKit.Search.OrderByType.Arrival">
            <summary>
            Sort by the arrival date.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.Cc">
            <summary>
            Sort by the Cc header.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.Date">
            <summary>
            Sort by the Date header.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.DisplayFrom">
            <summary>
            Sort by the Display Name of the From header.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.DisplayTo">
            <summary>
            Sort by the Display Name of the To header.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.From">
            <summary>
            Sort by the From header.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.ModSeq">
            <summary>
            Sort by the mod-sequence.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.Size">
            <summary>
            Sort by the message size.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.Subject">
            <summary>
            Sort by the message subject.
            </summary>
        </member>
        <member name="F:MailKit.Search.OrderByType.To">
            <summary>
            Sort by the To header.
            </summary>
        </member>
        <member name="T:MailKit.Search.SearchOptions">
            <summary>
            Advanced search options.
            </summary>
            <remarks>
            Advanced search options.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchOptions.None">
            <summary>
            No options specified.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchOptions.All">
            <summary>
            Returns all of the matching unique identifiers.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchOptions.Count">
            <summary>
            Returns the number of messages that match the search query.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchOptions.Min">
            <summary>
            Returns the minimum unique identifier of the messages that match the search query.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchOptions.Max">
            <summary>
            Returns the maximum unique identifier of the messages that match the search query.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchOptions.Relevancy">
            <summary>
            Returns the relevancy scores of the messages that match the query. Can only be used
            when using FUZZY search.
            </summary>
        </member>
        <member name="T:MailKit.Search.SearchQuery">
            <summary>
            A specialized query for searching messages in a <see cref="T:MailKit.IMailFolder"/>.
            </summary>
            <remarks>
            A specialized query for searching messages in a <see cref="T:MailKit.IMailFolder"/>.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.SearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Search.SearchQuery"/> that matches all messages.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.#ctor(MailKit.Search.SearchTerm)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.SearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Search.SearchQuery"/> with the specified search term.
            </remarks>
            <param name="term">The search term.</param>
        </member>
        <member name="P:MailKit.Search.SearchQuery.Term">
            <summary>
            Get the search term used by the search query.
            </summary>
            <remarks>
            Gets the search term used by the search query.
            </remarks>
            <value>The term.</value>
        </member>
        <member name="F:MailKit.Search.SearchQuery.All">
            <summary>
            Match all messages in the folder.
            </summary>
            <remarks>
            Matches all messages in the folder.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.And(MailKit.Search.SearchQuery,MailKit.Search.SearchQuery)">
            <summary>
            Create a conditional AND operation.
            </summary>
            <remarks>
            A conditional AND operation only evaluates the second operand if the first operand evaluates to true.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.BinarySearchQuery"/> representing the conditional AND operation.</returns>
            <param name="left">The first operand.</param>
            <param name="right">The second operand.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="left"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="right"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.And(MailKit.Search.SearchQuery)">
            <summary>
            Create a conditional AND operation.
            </summary>
            <remarks>
            A conditional AND operation only evaluates the second operand if the first operand evaluates to true.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.BinarySearchQuery"/> representing the conditional AND operation.</returns>
            <param name="expr">An additional query to execute.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="expr"/> is <c>null</c>.
            </exception>
        </member>
        <member name="F:MailKit.Search.SearchQuery.Answered">
            <summary>
            Match messages with the <see cref="F:MailKit.MessageFlags.Answered"/> flag set.
            </summary>
            <remarks>
            Matches messages with the <see cref="F:MailKit.MessageFlags.Answered"/> flag set.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.BccContains(System.String)">
            <summary>
            Match messages where the Bcc header contains the specified text.
            </summary>
            <remarks>
            Matches messages where the Bcc header contains the specified text.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="text"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.BodyContains(System.String)">
            <summary>
            Match messages where the message body contains the specified text.
            </summary>
            <remarks>
            Matches messages where the message body contains the specified text.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="text"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.CcContains(System.String)">
            <summary>
            Match messages where the Cc header contains the specified text.
            </summary>
            <remarks>
            Matches messages where the Cc header contains the specified text.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="text"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.ChangedSince(System.UInt64)">
            <summary>
            Match messages that have mod-sequence values greater than or equal to the specified mod-sequence value.
            </summary>
            <remarks>
            Matches messages that have mod-sequence values greater than or equal to the specified mod-sequence value.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.SearchQuery"/>.</returns>
            <param name="modseq">The mod-sequence value.</param>
        </member>
        <member name="F:MailKit.Search.SearchQuery.Deleted">
            <summary>
            Match messages with the <see cref="F:MailKit.MessageFlags.Deleted"/> flag set.
            </summary>
            <remarks>
            Matches messages with the <see cref="F:MailKit.MessageFlags.Deleted"/> flag set.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.DeliveredAfter(System.DateTime)">
            <summary>
            Match messages that were delivered after the specified date.
            </summary>
            <remarks>
            <para>Matches messages that were delivered after the specified date.</para>
            <para>The resolution of this search query does not include the time.</para>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.DateSearchQuery"/>.</returns>
            <param name="date">The date.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.DeliveredBefore(System.DateTime)">
            <summary>
            Match messages that were delivered before the specified date.
            </summary>
            <remarks>
            <para>Matches messages that were delivered before the specified date.</para>
            <para>The resolution of this search query does not include the time.</para>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.DateSearchQuery"/>.</returns>
            <param name="date">The date.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.DeliveredOn(System.DateTime)">
            <summary>
            Match messages that were delivered on the specified date.
            </summary>
            <remarks>
            <para>Matches messages that were delivered on the specified date.</para>
            <para>The resolution of this search query does not include the time.</para>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.DateSearchQuery"/>.</returns>
            <param name="date">The date.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.DoesNotHaveCustomFlag(System.String)">
            <summary>
            Match messages that do not have the specified custom flag set.
            </summary>
            <remarks>
            Matches messages that do not have the specified custom flag set.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="flag">The custom flag.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="flag"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="flag"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.DoesNotHaveCustomFlags(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Match messages that do not have any of the specified custom flags set.
            </summary>
            <remarks>
            Matches messages that do not have any of the specified custom flags set.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.SearchQuery"/>.</returns>
            <param name="flags">The custom flags.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="flags"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="flags"/> is <c>null</c> or empty.</para>
            <para>-or-</para>
            <para>No custom flags were given.</para>
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.DoesNotHaveFlags(MailKit.MessageFlags)">
            <summary>
            Match messages that do not have any of the specified flags set.
            </summary>
            <remarks>
            Matches messages that do not have any of the specified flags set.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.SearchQuery"/>.</returns>
            <param name="flags">The message flags.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="flags"/> does not specify any valid message flags.
            </exception>
        </member>
        <member name="F:MailKit.Search.SearchQuery.Draft">
            <summary>
            Match messages with the <see cref="F:MailKit.MessageFlags.Draft"/> flag set.
            </summary>
            <remarks>
            Matches messages with the <see cref="F:MailKit.MessageFlags.Draft"/> flag set.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.Filter(System.String)">
            <summary>
            Match messages using a saved search filter.
            </summary>
            <remarks>
            Matches messages using a saved search filter.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.FilterSearchQuery"/>.</returns>
            <param name="name">The name of the saved search.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.Filter(MailKit.MetadataTag)">
            <summary>
            Match messages using a saved search filter.
            </summary>
            <remarks>
            Matches messages using a saved search filter.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.FilterSearchQuery"/>.</returns>
            <param name="filter">The name of the saved search.</param>
        </member>
        <member name="F:MailKit.Search.SearchQuery.Flagged">
            <summary>
            Match messages with the <see cref="F:MailKit.MessageFlags.Flagged"/> flag set.
            </summary>
            <remarks>
            Matches messages with the <see cref="F:MailKit.MessageFlags.Flagged"/> flag set.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.FromContains(System.String)">
            <summary>
            Match messages where the From header contains the specified text.
            </summary>
            <remarks>
            Matches messages where the From header contains the specified text.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="text"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.Fuzzy(MailKit.Search.SearchQuery)">
            <summary>
            Apply a fuzzy matching algorithm to the specified expression.
            </summary>
            <remarks>
            <para>Applies a fuzzy matching algorithm to the specified expression.</para>
            <note type="warning">This feature is not supported by all IMAP servers.</note>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.UnarySearchQuery"/>.</returns>
            <param name="expr">The expression</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="expr"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.HasCustomFlag(System.String)">
            <summary>
            Match messages that have the specified custom flag set.
            </summary>
            <remarks>
            Matches messages that have the specified custom flag set.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="flag">The custom flag.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="flag"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="flag"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.HasCustomFlags(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Match messages that have the specified custom flags set.
            </summary>
            <remarks>
            Matches messages that have the specified custom flags set.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.SearchQuery"/>.</returns>
            <param name="flags">The custom flags.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="flags"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="flags"/> is <c>null</c> or empty.</para>
            <para>-or-</para>
            <para>No custom flags were given.</para>
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.HasFlags(MailKit.MessageFlags)">
            <summary>
            Match messages that have the specified flags set.
            </summary>
            <remarks>
            Matches messages that have the specified flags set.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.SearchQuery"/>.</returns>
            <param name="flags">The message flags.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="flags"/> does not specify any valid message flags.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.NotFlags(MailKit.MessageFlags)">
            <summary>
            Match messages that do not have any of the specified flags set.
            </summary>
            <remarks>
            Matches messages that do not have any of the specified flags set.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.SearchQuery"/>.</returns>
            <param name="flags">The message flags.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="flags"/> does not specify any valid message flags.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.HasKeyword(System.String)">
            <summary>
            Match messages that have the specified keyword set.
            </summary>
            <remarks>
            <para>Matches messages that have the specified keyword set.</para>
            <note type="info">A keyword is a user-defined message flag.</note>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="keyword">The keyword.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyword"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="keyword"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.HasKeywords(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Match messages that have all of the specified keywords set.
            </summary>
            <remarks>
            <para>Matches messages that have all of the specified keywords set.</para>
            <note type="info">A keyword is a user-defined message flag.</note>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.SearchQuery"/>.</returns>
            <param name="keywords">The keywords.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keywords"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="keywords"/> is <c>null</c> or empty.</para>
            <para>-or-</para>
            <para>No keywords were given.</para>
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.NotKeyword(System.String)">
            <summary>
            Match messages that do not have the specified keyword set.
            </summary>
            <remarks>
            <para>Matches messages that do not have the specified keyword set.</para>
            <note type="info">A keyword is a user-defined message flag.</note>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="keyword">The keyword.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keyword"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="keyword"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.NotKeywords(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Match messages that do not have any of the specified keywords set.
            </summary>
            <remarks>
            <para>Matches messages that do not have any of the specified keywords set.</para>
            <note type="info">A keyword is a user-defined message flag.</note>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.SearchQuery"/>.</returns>
            <param name="keywords">The keywords.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keywords"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="keywords"/> is <c>null</c> or empty.</para>
            <para>-or-</para>
            <para>No keywords were given.</para>
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.HeaderContains(System.String,System.String)">
            <summary>
            Match messages where the specified header contains the specified text.
            </summary>
            <remarks>
            Matches messages where the specified header contains the specified text.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.HeaderSearchQuery"/>.</returns>
            <param name="field">The header field to match against.</param>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="field"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="text"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="field"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.LargerThan(System.Int32)">
            <summary>
            Match messages that are larger than the specified number of octets.
            </summary>
            <remarks>
            Matches messages that are larger than the specified number of octets.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.NumericSearchQuery"/>.</returns>
            <param name="octets">The number of octets.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="octets"/> is a negative value.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.MessageContains(System.String)">
            <summary>
            Match messages where the raw message contains the specified text.
            </summary>
            <remarks>
            Matches messages where the raw message contains the specified text.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="text"/> is empty.
            </exception>
        </member>
        <member name="F:MailKit.Search.SearchQuery.New">
            <summary>
            Match messages with the <see cref="F:MailKit.MessageFlags.Recent"/> flag set but not the <see cref="F:MailKit.MessageFlags.Seen"/>.
            </summary>
            <remarks>
            Matches messages with the <see cref="F:MailKit.MessageFlags.Recent"/> flag set but not the <see cref="F:MailKit.MessageFlags.Seen"/>.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.Not(MailKit.Search.SearchQuery)">
            <summary>
            Create a logical negation of the specified expression.
            </summary>
            <remarks>
            Creates a logical negation of the specified expression.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.UnarySearchQuery"/>.</returns>
            <param name="expr">The expression</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="expr"/> is <c>null</c>.
            </exception>
        </member>
        <member name="F:MailKit.Search.SearchQuery.NotAnswered">
            <summary>
            Match messages that do not have the <see cref="F:MailKit.MessageFlags.Answered"/> flag set.
            </summary>
            <remarks>
            Matches messages that do not have the <see cref="F:MailKit.MessageFlags.Answered"/> flag set.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchQuery.NotDeleted">
            <summary>
            Match messages that do not have the <see cref="F:MailKit.MessageFlags.Deleted"/> flag set.
            </summary>
            <remarks>
            Matches messages that do not have the <see cref="F:MailKit.MessageFlags.Deleted"/> flag set.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchQuery.NotDraft">
            <summary>
            Match messages that do not have the <see cref="F:MailKit.MessageFlags.Draft"/> flag set.
            </summary>
            <remarks>
            Matches messages that do not have the <see cref="F:MailKit.MessageFlags.Draft"/> flag set.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchQuery.NotFlagged">
            <summary>
            Match messages that do not have the <see cref="F:MailKit.MessageFlags.Flagged"/> flag set.
            </summary>
            <remarks>
            Matches messages that do not have the <see cref="F:MailKit.MessageFlags.Flagged"/> flag set.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchQuery.NotRecent">
            <summary>
            Match messages that do not have the <see cref="F:MailKit.MessageFlags.Recent"/> flag set.
            </summary>
            <remarks>
            Matches messages that do not have the <see cref="F:MailKit.MessageFlags.Recent"/> flag set.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchQuery.NotSeen">
            <summary>
            Match messages that do not have the <see cref="F:MailKit.MessageFlags.Seen"/> flag set.
            </summary>
            <remarks>
            Matches messages that do not have the <see cref="F:MailKit.MessageFlags.Seen"/> flag set.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchQuery.Old">
            <summary>
            Match messages that do not have the <see cref="F:MailKit.MessageFlags.Recent"/> flag set.
            </summary>
            <remarks>
            Matches messages that do not have the <see cref="F:MailKit.MessageFlags.Recent"/> flag set.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.OlderThan(System.Int32)">
            <summary>
            Match messages older than the specified number of seconds.
            </summary>
            <remarks>
            Matches messages older than the specified number of seconds.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.NumericSearchQuery"/>.</returns>
            <param name="seconds">The number of seconds.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The number of seconds cannot be less than <c>1</c>.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.Or(MailKit.Search.SearchQuery,MailKit.Search.SearchQuery)">
            <summary>
            Create a conditional OR operation.
            </summary>
            <remarks>
            A conditional OR operation only evaluates the second operand if the first operand evaluates to false.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.BinarySearchQuery"/> representing the conditional OR operation.</returns>
            <param name="left">The first operand.</param>
            <param name="right">The second operand.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="left"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="right"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.Or(MailKit.Search.SearchQuery)">
            <summary>
            Create a conditional OR operation.
            </summary>
            <remarks>
            A conditional OR operation only evaluates the second operand if the first operand evaluates to true.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.BinarySearchQuery"/> representing the conditional AND operation.</returns>
            <param name="expr">An additional query to execute.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="expr"/> is <c>null</c>.
            </exception>
        </member>
        <member name="F:MailKit.Search.SearchQuery.Recent">
            <summary>
            Match messages with the <see cref="F:MailKit.MessageFlags.Recent"/> flag set.
            </summary>
            <remarks>
            Matches messages with the <see cref="F:MailKit.MessageFlags.Recent"/> flag set.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchQuery.Seen">
            <summary>
            Match messages with the <see cref="F:MailKit.MessageFlags.Seen"/> flag set.
            </summary>
            <remarks>
            Matches messages with the <see cref="F:MailKit.MessageFlags.Seen"/> flag set.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchQuery.SentAfter(System.DateTime)">
            <summary>
            Match messages that were sent after the specified date.
            </summary>
            <remarks>
            <para>Matches messages that were sent after the specified date.</para>
            <para>The resolution of this search query does not include the time.</para>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.DateSearchQuery"/>.</returns>
            <param name="date">The date.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.SentBefore(System.DateTime)">
            <summary>
            Match messages that were sent before the specified date.
            </summary>
            <remarks>
            <para>Matches messages that were sent before the specified date.</para>
            <para>The resolution of this search query does not include the time.</para>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.DateSearchQuery"/>.</returns>
            <param name="date">The date.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.SentOn(System.DateTime)">
            <summary>
            Match messages that were sent on the specified date.
            </summary>
            <remarks>
            <para>Matches messages that were sent on the specified date.</para>
            <para>The resolution of this search query does not include the time.</para>
            </remarks>
            <returns>A <see cref="T:MailKit.Search.DateSearchQuery"/>.</returns>
            <param name="date">The date.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.SmallerThan(System.Int32)">
            <summary>
            Match messages that are smaller than the specified number of octets.
            </summary>
            <remarks>
            Matches messages that are smaller than the specified number of octets.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.NumericSearchQuery"/>.</returns>
            <param name="octets">The number of octets.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="octets"/> is a negative value.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.SubjectContains(System.String)">
            <summary>
            Match messages where the Subject header contains the specified text.
            </summary>
            <remarks>
            Matches messages where the Subject header contains the specified text.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="text"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.ToContains(System.String)">
            <summary>
            Match messages where the To header contains the specified text.
            </summary>
            <remarks>
            Matches messages where the To header contains the specified text.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="text"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.Uids(System.Collections.Generic.IList{MailKit.UniqueId})">
            <summary>
            Limit the search query to messages with the specified unique identifiers.
            </summary>
            <remarks>
            Limits the search query to messages with the specified unique identifiers.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.UidSearchQuery"/>.</returns>
            <param name="uids">The unique identifiers.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uids"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.YoungerThan(System.Int32)">
            <summary>
            Match messages younger than the specified number of seconds.
            </summary>
            <remarks>
            Matches messages younger than the specified number of seconds.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.NumericSearchQuery"/>.</returns>
            <param name="seconds">The number of seconds.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            The number of seconds cannot be less than <c>1</c>.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.GMailMessageId(System.UInt64)">
            <summary>
            Match messages that have the specified GMail message identifier.
            </summary>
            <remarks>
            This search term can only be used with GMail.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.NumericSearchQuery"/>.</returns>
            <param name="id">The GMail message identifier.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.GMailThreadId(System.UInt64)">
            <summary>
            Match messages belonging to the specified GMail thread.
            </summary>
            <remarks>
            This search term can only be used with GMail.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.NumericSearchQuery"/>.</returns>
            <param name="thread">The GMail thread.</param>
        </member>
        <member name="M:MailKit.Search.SearchQuery.HasGMailLabel(System.String)">
            <summary>
            Match messages that have the specified GMail label.
            </summary>
            <remarks>
            This search term can only be used with GMail.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="label">The GMail label.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="label"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="label"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.SearchQuery.GMailRawSearch(System.String)">
            <summary>
            Match messages using the GMail search expression.
            </summary>
            <remarks>
            This search term can only be used with GMail.
            </remarks>
            <returns>A <see cref="T:MailKit.Search.TextSearchQuery"/>.</returns>
            <param name="expression">The raw GMail search text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="expression"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="expression"/> is empty.
            </exception>
        </member>
        <member name="T:MailKit.Search.SearchResults">
            <summary>
            The results of a search.
            </summary>
            <remarks>
            The results of a search.
            </remarks>
        </member>
        <member name="M:MailKit.Search.SearchResults.#ctor(MailKit.Search.SortOrder)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.SearchResults"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Search.SearchResults"/>.
            </remarks>
            <param name="order">The sort-order to use for the unique identifiers.</param>
        </member>
        <member name="P:MailKit.Search.SearchResults.UniqueIds">
            <summary>
            Get or set the unique identifiers of the messages that matched the search query.
            </summary>
            <remarks>
            Gets or sets the unique identifiers of the messages that matched the search query.
            </remarks>
            <value>The unique identifiers.</value>
        </member>
        <member name="P:MailKit.Search.SearchResults.Count">
            <summary>
            Get or set the number of messages that matched the search query.
            </summary>
            <remarks>
            Gets or sets the number of messages that matched the search query.
            </remarks>
            <value>The count.</value>
        </member>
        <member name="P:MailKit.Search.SearchResults.Min">
            <summary>
            Get or set the minimum unique identifier that matched the search query.
            </summary>
            <remarks>
            Gets or sets the minimum unique identifier that matched the search query.
            </remarks>
            <value>The minimum unique identifier.</value>
        </member>
        <member name="P:MailKit.Search.SearchResults.Max">
            <summary>
            Get or set the maximum unique identifier that matched the search query.
            </summary>
            <remarks>
            Gets or sets the maximum unique identifier that matched the search query.
            </remarks>
            <value>The maximum unique identifier.</value>
        </member>
        <member name="P:MailKit.Search.SearchResults.ModSeq">
            <summary>
            Gets or sets the mod-sequence identifier of the messages that matched the search query.
            </summary>
            <remarks>
            Gets or sets the mod-sequence identifier of the messages that matched the search query.
            </remarks>
            <value>The mod-sequence identifier.</value>
        </member>
        <member name="P:MailKit.Search.SearchResults.Relevancy">
            <summary>
            Gets or sets the relevancy scores of the messages that matched the search query.
            </summary>
            <remarks>
            Gets or sets the relevancy scores of the messages that matched the search query.
            </remarks>
            <value>The relevancy scores.</value>
        </member>
        <member name="T:MailKit.Search.SearchTerm">
            <summary>
            A search term.
            </summary>
            <remarks>
            The search term as used by <see cref="T:MailKit.Search.SearchQuery"/>.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SearchTerm.All">
            <summary>
            A search term that matches all messages.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.And">
            <summary>
            A search term that logically combines 2 or more other
            search expressions such that messages must match both
            expressions.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Answered">
            <summary>
            A search term that matches answered messages.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.BccContains">
            <summary>
            A search term that matches messages that contain a specified
            string within the <c>Bcc</c> header.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.BodyContains">
            <summary>
            A search term that matches messages that contain a specified
            string within the body of the message.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.CcContains">
            <summary>
            A search term that matches messages that contain a specified
            string within the <c>Cc</c> header.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Deleted">
            <summary>
            A search term that matches deleted messages.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.DeliveredAfter">
            <summary>
            A search term that matches messages delivered after a specified date.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.DeliveredBefore">
            <summary>
            A search term that matches messages delivered before a specified date.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.DeliveredOn">
            <summary>
            A search term that matches messages delivered on a specified date.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Draft">
            <summary>
            A search term that matches draft messages.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Filter">
            <summary>
            A search term that makes use of a predefined filter.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Flagged">
            <summary>
            A search term that matches flagged messages.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.FromContains">
            <summary>
            A search term that matches messages that contain a specified
            string within the <c>From</c> header.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Fuzzy">
            <summary>
            A search term that modifies another search expression to allow
            fuzzy matching.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.HeaderContains">
            <summary>
            A search term that matches messages that contain a specified
            string within a particular header.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Keyword">
            <summary>
            A search term that matches messages that contain a specified
            keyword.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.LargerThan">
            <summary>
            A search term that matches messages that are larger than a
            specified number of bytes.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.MessageContains">
            <summary>
            A search term that matches messages that contain a specified
            string anywhere within the message.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.ModSeq">
            <summary>
            A search term that matches messages that have the specified
            modification sequence value.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.New">
            <summary>
            A search term that matches new messages.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Not">
            <summary>
            A search term that modifies another search expression such that
            messages must match the logical inverse of the expression.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.NotAnswered">
            <summary>
            A search term that matches messages that have not been answered.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.NotDeleted">
            <summary>
            A search term that matches messages that have not been deleted.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.NotDraft">
            <summary>
            A search term that matches messages that are not drafts.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.NotFlagged">
            <summary>
            A search term that matches messages that have not been flagged.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.NotKeyword">
            <summary>
            A search term that matches messages that do not contain a specified
            keyword.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.NotRecent">
            <summary>
            A search term that matches messages that are not recent.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.NotSeen">
            <summary>
            A search term that matches messages that have not been seen.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Older">
            <summary>
            A search term that matches messages that are older than a specified date.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Or">
            <summary>
            A search term that logically combines 2 or more other
            search expressions such that messages only need to match
            one of the expressions.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Recent">
            <summary>
            A search term that matches messages that are recent.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Seen">
            <summary>
            A search term that matches messages that have been seen.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.SentAfter">
            <summary>
            A search term that matches messages that were sent after a specified date.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.SentBefore">
            <summary>
            A search term that matches messages that were sent before a specified date.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.SentOn">
            <summary>
            A search term that matches messages that were sent on a specified date.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.SmallerThan">
            <summary>
            A search term that matches messages that are smaller than a
            specified number of bytes.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.SubjectContains">
            <summary>
            A search term that matches messages that contain a specified
            string within the <c>Subject</c> header.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.ToContains">
            <summary>
            A search term that matches messages that contain a specified
            string within the <c>To</c> header.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Uid">
            <summary>
            A search term that matches messages included within a specified
            set of unique identifiers.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.Younger">
            <summary>
            A search term that matches messages that are younger than a specified date.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.GMailMessageId">
            <summary>
            A search term that matches messages with a specified GMail message identifier.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.GMailThreadId">
            <summary>
            A search term that matches messages with a specified GMail thread (conversation)
            identifier.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.GMailLabels">
            <summary>
            A search term that matches messages with the specified GMail labels.
            </summary>
        </member>
        <member name="F:MailKit.Search.SearchTerm.GMailRaw">
            <summary>
            A search term that uses the GMail search syntax.
            </summary>
        </member>
        <member name="T:MailKit.Search.SortOrder">
            <summary>
            An enumeration of sort orders.
            </summary>
            <remarks>
            An enumeration of sort orders.
            </remarks>
        </member>
        <member name="F:MailKit.Search.SortOrder.None">
            <summary>
            No sorting order.
            </summary>
        </member>
        <member name="F:MailKit.Search.SortOrder.Ascending">
            <summary>
            Sort in ascending order.
            </summary>
        </member>
        <member name="F:MailKit.Search.SortOrder.Descending">
            <summary>
            Sort in descending order.
            </summary>
        </member>
        <member name="T:MailKit.Search.TextSearchQuery">
            <summary>
            A text-based search query.
            </summary>
            <remarks>
            A text-based search query.
            </remarks>
        </member>
        <member name="M:MailKit.Search.TextSearchQuery.#ctor(MailKit.Search.SearchTerm,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.TextSearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new text-based search query.
            </remarks>
            <param name="term">The search term.</param>
            <param name="text">The text to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="text"/> is empty.
            </exception>
        </member>
        <member name="P:MailKit.Search.TextSearchQuery.Text">
            <summary>
            Gets the text to match against.
            </summary>
            <remarks>
            Gets the text to match against.
            </remarks>
            <value>The text.</value>
        </member>
        <member name="T:MailKit.Search.UidSearchQuery">
            <summary>
            A unique identifier-based search query.
            </summary>
            <remarks>
            A unique identifier-based search query.
            </remarks>
        </member>
        <member name="M:MailKit.Search.UidSearchQuery.#ctor(System.Collections.Generic.IList{MailKit.UniqueId})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.UidSearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new unique identifier-based search query.
            </remarks>
            <param name="uids">The unique identifiers to match against.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uids"/> is empty.
            </exception>
        </member>
        <member name="M:MailKit.Search.UidSearchQuery.#ctor(MailKit.UniqueId)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.UidSearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new unique identifier-based search query.
            </remarks>
            <param name="uid">The unique identifier to match against.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is an invalid unique identifier.
            </exception>
        </member>
        <member name="P:MailKit.Search.UidSearchQuery.Uids">
            <summary>
            Gets the unique identifiers to match against.
            </summary>
            <remarks>
            Gets the unique identifiers to match against.
            </remarks>
            <value>The unique identifiers.</value>
        </member>
        <member name="T:MailKit.Search.UnarySearchQuery">
            <summary>
            A unary search query such as a NOT expression.
            </summary>
            <remarks>
            A unary search query such as a NOT expression.
            </remarks>
        </member>
        <member name="M:MailKit.Search.UnarySearchQuery.#ctor(MailKit.Search.SearchTerm,MailKit.Search.SearchQuery)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Search.UnarySearchQuery"/> class.
            </summary>
            <remarks>
            Creates a new unary search query.
            </remarks>
            <param name="term">The search term.</param>
            <param name="operand">The operand.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="operand"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.Search.UnarySearchQuery.Operand">
            <summary>
            Gets the inner operand.
            </summary>
            <remarks>
            Gets the inner operand.
            </remarks>
            <value>The operand.</value>
        </member>
        <member name="T:MailKit.Security.Ntlm.NtlmFlags">
            <summary>
            The NTLM message header flags.
            </summary>
            <remarks>
            More details here: http://davenport.sourceforge.net/ntlm.html#theNtlmMessageHeaderLayout
            and at https://msdn.microsoft.com/en-us/library/cc236650.aspx
            </remarks>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateUnicode">
            <summary>
            Indicates that Unicode strings are supported for use in security buffer data.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateOem">
            <summary>
            Indicates that OEM strings are supported for use in security buffer data.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.RequestTarget">
            <summary>
            Requests that the server's authentication realm be included in the Type 2 message.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.R10">
            <summary>
            This flag's usage has not been identified.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateSign">
            <summary>
            Specifies that authenticated communication between the client and server should carry a digital signature (message integrity).
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateSeal">
            <summary>
            Specifies that authenticated communication between the client and server should be encrypted (message confidentiality).
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateDatagramStyle">
            <summary>
            Indicates that datagram authentication is being used.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateLanManagerKey">
            <summary>
            Indicates that the Lan Manager Session Key should be used for signing
            and sealing authenticated communications.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.R9">
            <summary>
            This flag is unused and MUST be zero. (r8)
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateNtlm">
            <summary>
            Indicates that NTLM authentication is being used.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.R8">
            <summary>
            This flag is unused and MUST be zero. (r8)
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateAnonymous">
            <summary>
            Sent by the client in the Type 3 message to indicate that an anonymous
            context has been established. This also affects the response fields.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateDomainSupplied">
            <summary>
            Sent by the client in the Type 1 message to indicate that the name of the
            domain in which the client workstation has membership is included in the
            message. This is used by the server to determine whether the client is
            eligible for local authentication.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateWorkstationSupplied">
            <summary>
            Sent by the client in the Type 1 message to indicate that the client
            workstation's name is included in the message. This is used by the server
            to determine whether the client is eligible for local authentication.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateLocalCall">
            <summary>
            Sent by the server to indicate that the server and client are on the same
            machine. Implies that the client may use the established local credentials
            for authentication instead of calculating a response to the challenge.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateAlwaysSign">
            <summary>
            Indicates that authenticated communication between the client and server
            should be signed with a "dummy" signature.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.TargetTypeDomain">
            <summary>
            Sent by the server in the Type 2 message to indicate that the target
            authentication realm is a domain.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.TargetTypeServer">
            <summary>
            Sent by the server in the Type 2 message to indicate that the target
            authentication realm is a server.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.TargetTypeShare">
            <summary>
            Sent by the server in the Type 2 message to indicate that the target
            authentication realm is a share. Presumably, this is for share-level
            authentication. Usage is unclear.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateNtlm2Key">
            <summary>
            Indicates that the NTLM2 signing and sealing scheme should be used for
            protecting authenticated communications. Note that this refers to a
            particular session security scheme, and is not related to the use of
            NTLMv2 authentication. This flag can, however, have an effect on the
            response calculations.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateIdentify">
            <summary>
            This flag's usage has not been identified.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.R5">
            <summary>
            This flag is unused and MUST be zero. (r5)
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.RequestNonNTSessionKey">
            <summary>
            Indicates that the LMOWF function should be used to generate a session key.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateTargetInfo">
            <summary>
            Sent by the server in the Type 2 message to indicate that it is including
            a Target Information block in the message. The Target Information block
            is used in the calculation of the NTLMv2 response.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.R4">
            <summary>
            This flag is unused and MUST be zero. (r4)
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateVersion">
            <summary>
            Indicates that the version field is present.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.R3">
            <summary>
            This flag is unused and MUST be zero. (r3)
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.R2">
            <summary>
            This flag is unused and MUST be zero. (r2)
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.R1">
            <summary>
            This flag is unused and MUST be zero. (r1)
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.Negotiate128">
            <summary>
            Indicates that 128-bit encryption is supported.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.NegotiateKeyExchange">
            <summary>
            Indicates that the client will provide an encrypted master key in the
            "Session Key" field of the Type 3 message.
            </summary>
        </member>
        <member name="F:MailKit.Security.Ntlm.NtlmFlags.Negotiate56">
            <summary>
            Indicates that 56-bit encryption is supported.
            </summary>
        </member>
        <member name="T:MailKit.Security.AuthenticationException">
            <summary>
            The exception that is thrown when there is an authentication error.
            </summary>
            <remarks>
            The exception that is thrown when there is an authentication error.
            </remarks>
        </member>
        <member name="M:MailKit.Security.AuthenticationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.AuthenticationException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.AuthenticationException"/> from the seriaized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.AuthenticationException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.AuthenticationException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.AuthenticationException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">An inner exception.</param>
        </member>
        <member name="M:MailKit.Security.AuthenticationException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.AuthenticationException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.AuthenticationException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Security.AuthenticationException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.AuthenticationException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.AuthenticationException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.Security.SaslErrorCode">
            <summary>
            An enumeration of the possible error codes that may be reported by a <see cref="T:MailKit.Security.SaslException"/>.
            </summary>
            <remarks>
            An enumeration of the possible error codes that may be reported by a <see cref="T:MailKit.Security.SaslException"/>.
            </remarks>
        </member>
        <member name="F:MailKit.Security.SaslErrorCode.ChallengeTooLong">
            <summary>
            The server's challenge was too long.
            </summary>
        </member>
        <member name="F:MailKit.Security.SaslErrorCode.IncompleteChallenge">
            <summary>
            The server's response contained an incomplete challenge.
            </summary>
        </member>
        <member name="F:MailKit.Security.SaslErrorCode.InvalidChallenge">
            <summary>
            The server's challenge was invalid.
            </summary>
        </member>
        <member name="F:MailKit.Security.SaslErrorCode.MissingChallenge">
            <summary>
            The server's response did not contain a challenge.
            </summary>
        </member>
        <member name="F:MailKit.Security.SaslErrorCode.IncorrectHash">
            <summary>
            The server's challenge contained an incorrect hash.
            </summary>
        </member>
        <member name="T:MailKit.Security.SaslException">
            <summary>
            A SASL authentication exception.
            </summary>
            <remarks>
            Typically indicates an error while parsing a server's challenge token.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslException"/> class.
            </summary>
            <remarks>
            Deserializes a <see cref="T:MailKit.Security.SaslException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
        </member>
        <member name="M:MailKit.Security.SaslException.#ctor(System.String,MailKit.Security.SaslErrorCode,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.SaslException"/>.
            </remarks>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="code">The error code.</param>
            <param name="message">The error message.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Serializes the state of the <see cref="T:MailKit.Security.SaslException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslException.ErrorCode">
            <summary>
            Gets the error code.
            </summary>
            <remarks>
            Gets the error code.
            </remarks>
            <value>The error code.</value>
        </member>
        <member name="P:MailKit.Security.SaslException.Mechanism">
            <summary>
            Gets the name of the SASL mechanism that had the error.
            </summary>
            <remarks>
            Gets the name of the SASL mechanism that had the error.
            </remarks>
            <value>The name of the SASL mechanism.</value>
        </member>
        <member name="T:MailKit.Security.SaslMechanism">
            <summary>
            A SASL authentication mechanism.
            </summary>
            <remarks>
            Authenticating via a SASL mechanism may be a multi-step process.
            To determine if the mechanism has completed the necessary steps
            to authentication, check the <see cref="P:MailKit.Security.SaslMechanism.IsAuthenticated"/> after
            each call to <see cref="M:MailKit.Security.SaslMechanism.Challenge(System.String)"/>.
            </remarks>
        </member>
        <member name="F:MailKit.Security.SaslMechanism.AuthMechanismRank">
            <summary>
            The supported authentication mechanisms in order of strongest to weakest.
            </summary>
            <remarks>
            Used by the various clients when authenticating via SASL to determine
            which order the SASL mechanisms supported by the server should be tried.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanism"/> class.
            </summary>
            <remarks>
            Creates a new SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanism"/> class.
            </summary>
            <remarks>
            Creates a new SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanism"/> class.
            </summary>
            <remarks>
            Creates a new SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanism"/> class.
            </summary>
            <remarks>
            Creates a new SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanism.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanism.Credentials">
            <summary>
            Gets the user's credentials.
            </summary>
            <remarks>
            Gets the user's credentials.
            </remarks>
            <value>The user's credentials.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanism.SupportsInitialResponse">
            <summary>
            Gets whether or not the mechanism supports an initial response (SASL-IR).
            </summary>
            <remarks>
            SASL mechanisms that support sending an initial client response to the server
            should return <value>true</value>.
            </remarks>
            <value><c>true</c> if the mechanism supports an initial response; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanism.IsAuthenticated">
            <summary>
            Gets or sets whether the SASL mechanism has finished authenticating.
            </summary>
            <remarks>
            Gets or sets whether the SASL mechanism has finished authenticating.
            </remarks>
            <value><c>true</c> if the SASL mechanism has finished authenticating; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanism.NegotiatedSecurityLayer">
            <summary>
            Gets whether or not a security layer was negotiated.
            </summary>
            <remarks>
            <para>Gets whether or not a security layer has been negotiated by the SASL mechanism.</para>
            <note type="note">Some SASL mechanisms, such as GSSAPI, are able to negotiate security layers
            such as integrity and confidentiality protection.</note>
            </remarks>
            <value><c>true</c> if a security layer was negotiated; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanism.Uri">
            <summary>
            Gets or sets the URI of the service.
            </summary>
            <remarks>
            Gets or sets the URI of the service.
            </remarks>
            <value>The URI of the service.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.Challenge(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the server's challenge token and returns the next challenge response.
            </summary>
            <remarks>
            Parses the server's challenge token and returns the next challenge response.
            </remarks>
            <returns>The next challenge response.</returns>
            <param name="token">The server's challenge token.</param>
            <param name="startIndex">The index into the token specifying where the server's challenge begins.</param>
            <param name="length">The length of the server's challenge.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            THe SASL mechanism does not support SASL-IR.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.Challenge(System.String)">
            <summary>
            Decodes the base64-encoded server challenge and returns the next challenge response encoded in base64.
            </summary>
            <remarks>
            Decodes the base64-encoded server challenge and returns the next challenge response encoded in base64.
            </remarks>
            <returns>The next base64-encoded challenge response.</returns>
            <param name="token">The server's base64-encoded challenge token.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            THe SASL mechanism does not support SASL-IR.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.Reset">
            <summary>
            Resets the state of the SASL mechanism.
            </summary>
            <remarks>
            Resets the state of the SASL mechanism.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.IsSupported(System.String)">
            <summary>
            Determines if the specified SASL mechanism is supported by MailKit.
            </summary>
            <remarks>
            Use this method to make sure that a SASL mechanism is supported before calling
            <see cref="M:MailKit.Security.SaslMechanism.Create(System.String,System.Uri,System.Net.ICredentials)"/>.
            </remarks>
            <returns><c>true</c> if the specified SASL mechanism is supported; otherwise, <c>false</c>.</returns>
            <param name="mechanism">The name of the SASL mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.Create(System.String,System.Uri,System.Text.Encoding,System.Net.ICredentials)">
            <summary>
            Create an instance of the specified SASL mechanism using the uri and credentials.
            </summary>
            <remarks>
            If unsure that a particular SASL mechanism is supported, you should first call
            <see cref="M:MailKit.Security.SaslMechanism.IsSupported(System.String)"/>.
            </remarks>
            <returns>An instance of the requested SASL mechanism if supported; otherwise <c>null</c>.</returns>
            <param name="mechanism">The name of the SASL mechanism.</param>
            <param name="uri">The URI of the service to authenticate against.</param>
            <param name="encoding">The text encoding to use for the credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mechanism"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.Create(System.String,System.Uri,System.Net.ICredentials)">
            <summary>
            Create an instance of the specified SASL mechanism using the uri and credentials.
            </summary>
            <remarks>
            If unsure that a particular SASL mechanism is supported, you should first call
            <see cref="M:MailKit.Security.SaslMechanism.IsSupported(System.String)"/>.
            </remarks>
            <returns>An instance of the requested SASL mechanism if supported; otherwise <c>null</c>.</returns>
            <param name="mechanism">The name of the SASL mechanism.</param>
            <param name="uri">The URI of the service to authenticate against.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="mechanism"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.IsNonAsciiSpace(System.Char)">
            <summary>
            Determines if the character is a non-ASCII space.
            </summary>
            <remarks>
            This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-C.1.2
            </remarks>
            <returns><c>true</c> if the character is a non-ASCII space; otherwise, <c>false</c>.</returns>
            <param name="c">The character.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.IsCommonlyMappedToNothing(System.Char)">
            <summary>
            Determines if the character is commonly mapped to nothing.
            </summary>
            <remarks>
            This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-B.1
            </remarks>
            <returns><c>true</c> if the character is commonly mapped to nothing; otherwise, <c>false</c>.</returns>
            <param name="c">The character.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.IsProhibited(System.String,System.Int32)">
            <summary>
            Determines if the character is prohibited.
            </summary>
            <remarks>
            This list was obtained from http://tools.ietf.org/html/rfc3454#appendix-C.3
            </remarks>
            <returns><c>true</c> if the character is prohibited; otherwise, <c>false</c>.</returns>
            <param name="s">The string.</param>
            <param name="index">The character index.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanism.SaslPrep(System.String)">
            <summary>
            Prepares the user name or password string.
            </summary>
            <remarks>
            Prepares a user name or password string according to the rules of rfc4013.
            </remarks>
            <returns>The prepared string.</returns>
            <param name="s">The string to prepare.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="s"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="s"/> contains prohibited characters.
            </exception>
        </member>
        <member name="T:MailKit.Security.SaslMechanismCramMd5">
            <summary>
            The CRAM-MD5 SASL mechanism.
            </summary>
            <remarks>
            A SASL mechanism based on HMAC-MD5.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismCramMd5.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismCramMd5"/> class.
            </summary>
            <remarks>
            Creates a new CRAM-MD5 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismCramMd5.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismCramMd5"/> class.
            </summary>
            <remarks>
            Creates a new CRAM-MD5 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismCramMd5.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismCramMd5"/> class.
            </summary>
            <remarks>
            Creates a new CRAM-MD5 SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismCramMd5.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismCramMd5"/> class.
            </summary>
            <remarks>
            Creates a new CRAM-MD5 SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismCramMd5.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismCramMd5.Challenge(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the server's challenge token and returns the next challenge response.
            </summary>
            <remarks>
            Parses the server's challenge token and returns the next challenge response.
            </remarks>
            <returns>The next challenge response.</returns>
            <param name="token">The server's challenge token.</param>
            <param name="startIndex">The index into the token specifying where the server's challenge begins.</param>
            <param name="length">The length of the server's challenge.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The SASL mechanism does not support SASL-IR.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="T:MailKit.Security.SaslMechanismDigestMd5">
            <summary>
            The DIGEST-MD5 SASL mechanism.
            </summary>
            <remarks>
            Unlike the PLAIN and LOGIN SASL mechanisms, the DIGEST-MD5 mechanism
            provides some level of protection and should be relatively safe to
            use even with a clear-text connection.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismDigestMd5.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismDigestMd5"/> class.
            </summary>
            <remarks>
            Creates a new DIGEST-MD5 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismDigestMd5.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismDigestMd5"/> class.
            </summary>
            <remarks>
            Creates a new DIGEST-MD5 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismDigestMd5.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismDigestMd5"/> class.
            </summary>
            <remarks>
            Creates a new DIGEST-MD5 SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismDigestMd5.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismDigestMd5"/> class.
            </summary>
            <remarks>
            Creates a new DIGEST-MD5 SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismDigestMd5.AuthorizationId">
            <summary>
            Gets or sets the authorization identifier.
            </summary>
            <remarks>
            The authorization identifier is the desired user account that the server should use
            for all accesses. This is separate from the user name used for authentication.
            </remarks>
            <value>The authorization identifier.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanismDigestMd5.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismDigestMd5.Challenge(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the server's challenge token and returns the next challenge response.
            </summary>
            <remarks>
            Parses the server's challenge token and returns the next challenge response.
            </remarks>
            <returns>The next challenge response.</returns>
            <param name="token">The server's challenge token.</param>
            <param name="startIndex">The index into the token specifying where the server's challenge begins.</param>
            <param name="length">The length of the server's challenge.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            THe SASL mechanism does not support SASL-IR.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismDigestMd5.Reset">
            <summary>
            Resets the state of the SASL mechanism.
            </summary>
            <remarks>
            Resets the state of the SASL mechanism.
            </remarks>
        </member>
        <member name="T:MailKit.Security.SaslMechanismLogin">
            <summary>
            The LOGIN SASL mechanism.
            </summary>
            <remarks>
            The LOGIN SASL mechanism provides little protection over the use
            of plain-text passwords by obscuring the user name and password within
            individual base64-encoded blobs and should be avoided unless used in
            combination with an SSL or TLS connection.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.#ctor(System.Uri,System.Text.Encoding,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismLogin"/> class.
            </summary>
            <remarks>
            Creates a new LOGIN SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.#ctor(System.Uri,System.Text.Encoding,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismLogin"/> class.
            </summary>
            <remarks>
            Creates a new LOGIN SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismLogin"/> class.
            </summary>
            <remarks>
            Creates a new LOGIN SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismLogin"/> class.
            </summary>
            <remarks>
            Creates a new LOGIN SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.#ctor(System.Text.Encoding,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismLogin"/> class.
            </summary>
            <remarks>
            Creates a new LOGIN SASL context.
            </remarks>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.#ctor(System.Text.Encoding,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismLogin"/> class.
            </summary>
            <remarks>
            Creates a new LOGIN SASL context.
            </remarks>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismLogin"/> class.
            </summary>
            <remarks>
            Creates a new LOGIN SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismLogin"/> class.
            </summary>
            <remarks>
            Creates a new LOGIN SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismLogin.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanismLogin.SupportsInitialResponse">
            <summary>
            Gets whether or not the mechanism supports an initial response (SASL-IR).
            </summary>
            <remarks>
            SASL mechanisms that support sending an initial client response to the server
            should return <value>true</value>.
            </remarks>
            <value><c>true</c> if the mechanism supports an initial response; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.Challenge(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the server's challenge token and returns the next challenge response.
            </summary>
            <remarks>
            Parses the server's challenge token and returns the next challenge response.
            </remarks>
            <returns>The next challenge response.</returns>
            <param name="token">The server's challenge token.</param>
            <param name="startIndex">The index into the token specifying where the server's challenge begins.</param>
            <param name="length">The length of the server's challenge.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The SASL mechanism does not support SASL-IR.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismLogin.Reset">
            <summary>
            Resets the state of the SASL mechanism.
            </summary>
            <remarks>
            Resets the state of the SASL mechanism.
            </remarks>
        </member>
        <member name="T:MailKit.Security.SaslMechanismNtlm">
            <summary>
            The NTLM SASL mechanism.
            </summary>
            <remarks>
            A SASL mechanism based on NTLM.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismNtlm.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismNtlm"/> class.
            </summary>
            <remarks>
            Creates a new NTLM SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismNtlm.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismNtlm"/> class.
            </summary>
            <remarks>
            Creates a new NTLM SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismNtlm.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismNtlm"/> class.
            </summary>
            <remarks>
            Creates a new NTLM SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismNtlm.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismNtlm"/> class.
            </summary>
            <remarks>
            Creates a new NTLM SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismNtlm.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanismNtlm.SupportsInitialResponse">
            <summary>
            Gets whether or not the mechanism supports an initial response (SASL-IR).
            </summary>
            <remarks>
            SASL mechanisms that support sending an initial client response to the server
            should return <value>true</value>.
            </remarks>
            <value><c>true</c> if the mechanism supports an initial response; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanismNtlm.Workstation">
            <summary>
            Gets or sets the workstation name to use for authentication.
            </summary>
            <remarks>
            Gets or sets the workstation name to use for authentication.
            </remarks>
            <value>The workstation name.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismNtlm.Challenge(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the server's challenge token and returns the next challenge response.
            </summary>
            <remarks>
            Parses the server's challenge token and returns the next challenge response.
            </remarks>
            <returns>The next challenge response.</returns>
            <param name="token">The server's challenge token.</param>
            <param name="startIndex">The index into the token specifying where the server's challenge begins.</param>
            <param name="length">The length of the server's challenge.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismNtlm.Reset">
            <summary>
            Resets the state of the SASL mechanism.
            </summary>
            <remarks>
            Resets the state of the SASL mechanism.
            </remarks>
        </member>
        <member name="T:MailKit.Security.SaslMechanismOAuth2">
            <summary>
            The OAuth2 SASL mechanism.
            </summary>
            <remarks>
            A SASL mechanism used by Google that makes use of a short-lived
            OAuth 2.0 access token.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismOAuth2.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismOAuth2"/> class.
            </summary>
            <remarks>
            Creates a new XOAUTH2 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismOAuth2.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismOAuth2"/> class.
            </summary>
            <remarks>
            Creates a new XOAUTH2 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="auth_token">The auth token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="auth_token"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismOAuth2.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismOAuth2"/> class.
            </summary>
            <remarks>
            Creates a new XOAUTH2 SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismOAuth2.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismOAuth2"/> class.
            </summary>
            <remarks>
            Creates a new XOAUTH2 SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="auth_token">The auth token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="auth_token"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismOAuth2.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanismOAuth2.SupportsInitialResponse">
            <summary>
            Gets whether or not the mechanism supports an initial response (SASL-IR).
            </summary>
            <remarks>
            SASL mechanisms that support sending an initial client response to the server
            should return <value>true</value>.
            </remarks>
            <value><c>true</c> if the mechanism supports an initial response; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismOAuth2.Challenge(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the server's challenge token and returns the next challenge response.
            </summary>
            <remarks>
            Parses the server's challenge token and returns the next challenge response.
            </remarks>
            <returns>The next challenge response.</returns>
            <param name="token">The server's challenge token.</param>
            <param name="startIndex">The index into the token specifying where the server's challenge begins.</param>
            <param name="length">The length of the server's challenge.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="T:MailKit.Security.SaslMechanismPlain">
            <summary>
            The PLAIN SASL mechanism.
            </summary>
            <remarks>
            The PLAIN SASL mechanism provides little protection over the use
            of plain-text passwords by combining the user name and password and
            obscuring them within a base64-encoded blob and should be avoided
            unless used in combination with an SSL or TLS connection.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.#ctor(System.Uri,System.Text.Encoding,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismPlain"/> class.
            </summary>
            <remarks>
            Creates a new PLAIN SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.#ctor(System.Uri,System.Text.Encoding,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismPlain"/> class.
            </summary>
            <remarks>
            Creates a new PLAIN SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismPlain"/> class.
            </summary>
            <remarks>
            Creates a new PLAIN SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismPlain"/> class.
            </summary>
            <remarks>
            Creates a new PLAIN SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.#ctor(System.Text.Encoding,System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismPlain"/> class.
            </summary>
            <remarks>
            Creates a new PLAIN SASL context.
            </remarks>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.#ctor(System.Text.Encoding,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismPlain"/> class.
            </summary>
            <remarks>
            Creates a new PLAIN SASL context.
            </remarks>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismPlain"/> class.
            </summary>
            <remarks>
            Creates a new PLAIN SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismPlain"/> class.
            </summary>
            <remarks>
            Creates a new PLAIN SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismPlain.AuthorizationId">
            <summary>
            Gets or sets the authorization identifier.
            </summary>
            <remarks>
            The authorization identifier is the desired user account that the server should use
            for all accesses. This is separate from the user name used for authentication.
            </remarks>
            <value>The authorization identifier.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanismPlain.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="P:MailKit.Security.SaslMechanismPlain.SupportsInitialResponse">
            <summary>
            Gets whether or not the mechanism supports an initial response (SASL-IR).
            </summary>
            <remarks>
            SASL mechanisms that support sending an initial client response to the server
            should return <value>true</value>.
            </remarks>
            <value><c>true</c> if the mechanism supports an initial response; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismPlain.Challenge(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the server's challenge token and returns the next challenge response.
            </summary>
            <remarks>
            Parses the server's challenge token and returns the next challenge response.
            </remarks>
            <returns>The next challenge response.</returns>
            <param name="token">The server's challenge token.</param>
            <param name="startIndex">The index into the token specifying where the server's challenge begins.</param>
            <param name="length">The length of the server's challenge.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="T:MailKit.Security.SaslMechanismScramBase">
            <summary>
            The base class for SCRAM-based SASL mechanisms.
            </summary>
            <remarks>
            SCRAM-based SASL mechanisms are salted challenge/response authentication mechanisms.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramBase"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-based SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramBase"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-based SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramBase"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-based SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramBase"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-based SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismScramBase.SupportsInitialResponse">
            <summary>
            Gets whether or not the mechanism supports an initial response (SASL-IR).
            </summary>
            <remarks>
            SASL mechanisms that support sending an initial client response to the server
            should return <value>true</value>.
            </remarks>
            <value><c>true</c> if the mechanism supports an initial response; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.CreateHMAC(System.Byte[])">
            <summary>
            Create the HMAC context.
            </summary>
            <remarks>
            Creates the HMAC context using the secret key.
            </remarks>
            <returns>The HMAC context.</returns>
            <param name="key">The secret key.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.HMAC(System.Byte[],System.Byte[])">
            <summary>
            Apply the HMAC keyed algorithm.
            </summary>
            <remarks>
            HMAC(key, str): Apply the HMAC keyed hash algorithm (defined in
            [RFC2104]) using the octet string represented by "key" as the key
            and the octet string "str" as the input string.  The size of the
            result is the hash result size for the hash function in use.  For
            example, it is 20 octets for SHA-1 (see [RFC3174]).
            </remarks>
            <returns>The results of the HMAC keyed algorithm.</returns>
            <param name="key">The key.</param>
            <param name="str">The string.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.Hash(System.Byte[])">
            <summary>
            Apply the cryptographic hash function.
            </summary>
            <remarks>
            H(str): Apply the cryptographic hash function to the octet string
            "str", producing an octet string as a result.  The size of the
            result depends on the hash result size for the hash function in
            use.
            </remarks>
            <returns>The results of the hash.</returns>
            <param name="str">The string.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.Xor(System.Byte[],System.Byte[])">
            <summary>
            Apply the exclusive-or operation to combine two octet strings.
            </summary>
            <remarks>
            Apply the exclusive-or operation to combine the octet string
            on the left of this operator with the octet string on the right of
            this operator.  The length of the output and each of the two
            inputs will be the same for this use.
            </remarks>
            <param name="a">The alpha component.</param>
            <param name="b">The blue component.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.Challenge(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the server's challenge token and returns the next challenge response.
            </summary>
            <remarks>
            Parses the server's challenge token and returns the next challenge response.
            </remarks>
            <returns>The next challenge response.</returns>
            <param name="token">The server's challenge token.</param>
            <param name="startIndex">The index into the token specifying where the server's challenge begins.</param>
            <param name="length">The length of the server's challenge.</param>
            <exception cref="T:System.InvalidOperationException">
            The SASL mechanism is already authenticated.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            An error has occurred while parsing the server's challenge token.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramBase.Reset">
            <summary>
            Resets the state of the SASL mechanism.
            </summary>
            <remarks>
            Resets the state of the SASL mechanism.
            </remarks>
        </member>
        <member name="T:MailKit.Security.SaslMechanismScramSha1">
            <summary>
            The SCRAM-SHA-1 SASL mechanism.
            </summary>
            <remarks>
            A salted challenge/response SASL mechanism that uses the HMAC SHA-1 algorithm.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha1.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramSha1"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-SHA-1 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha1.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramSha1"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-SHA-1 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha1.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramSha1"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-SHA-1 SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha1.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramSha1"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-SHA-1 SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismScramSha1.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha1.CreateHMAC(System.Byte[])">
            <summary>
            Create the HMAC context.
            </summary>
            <remarks>
            Creates the HMAC context using the secret key.
            </remarks>
            <returns>The HMAC context.</returns>
            <param name="key">The secret key.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha1.Hash(System.Byte[])">
            <summary>
            Apply the cryptographic hash function.
            </summary>
            <remarks>
            H(str): Apply the cryptographic hash function to the octet string
            "str", producing an octet string as a result. The size of the
            result depends on the hash result size for the hash function in
            use.
            </remarks>
            <returns>The results of the hash.</returns>
            <param name="str">The string.</param>
        </member>
        <member name="T:MailKit.Security.SaslMechanismScramSha256">
            <summary>
            The SCRAM-SHA-1 SASL mechanism.
            </summary>
            <remarks>
            A salted challenge/response SASL mechanism that uses the HMAC SHA-256 algorithm.
            </remarks>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha256.#ctor(System.Uri,System.Net.ICredentials)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramSha256"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-SHA-256 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha256.#ctor(System.Uri,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramSha256"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-SHA-256 SASL context.
            </remarks>
            <param name="uri">The URI of the service.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uri"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha256.#ctor(System.Net.NetworkCredential)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramSha256"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-SHA-256 SASL context.
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha256.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SaslMechanismScramSha256"/> class.
            </summary>
            <remarks>
            Creates a new SCRAM-SHA-256 SASL context.
            </remarks>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.Security.SaslMechanismScramSha256.MechanismName">
            <summary>
            Gets the name of the mechanism.
            </summary>
            <remarks>
            Gets the name of the mechanism.
            </remarks>
            <value>The name of the mechanism.</value>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha256.CreateHMAC(System.Byte[])">
            <summary>
            Create the HMAC context.
            </summary>
            <remarks>
            Creates the HMAC context using the secret key.
            </remarks>
            <returns>The HMAC context.</returns>
            <param name="key">The secret key.</param>
        </member>
        <member name="M:MailKit.Security.SaslMechanismScramSha256.Hash(System.Byte[])">
            <summary>
            Apply the cryptographic hash function.
            </summary>
            <remarks>
            H(str): Apply the cryptographic hash function to the octet string
            "str", producing an octet string as a result. The size of the
            result depends on the hash result size for the hash function in
            use.
            </remarks>
            <returns>The results of the hash.</returns>
            <param name="str">The string.</param>
        </member>
        <member name="T:MailKit.Security.SecureSocketOptions">
            <summary>
            Secure socket options.
            </summary>
            <remarks>
            Provides a way of specifying the SSL and/or TLS encryption that
            should be used for a connection.
            </remarks>
        </member>
        <member name="F:MailKit.Security.SecureSocketOptions.None">
            <summary>
            No SSL or TLS encryption should be used.
            </summary>
        </member>
        <member name="F:MailKit.Security.SecureSocketOptions.Auto">
            <summary>
            Allow the <see cref="T:MailKit.IMailService"/> to decide which SSL or TLS
            options to use (default). If the server does not support SSL or TLS,
            then the connection will continue without any encryption.
            </summary>
        </member>
        <member name="F:MailKit.Security.SecureSocketOptions.SslOnConnect">
            <summary>
            The connection should use SSL or TLS encryption immediately.
            </summary>
        </member>
        <member name="F:MailKit.Security.SecureSocketOptions.StartTls">
            <summary>
            Elevates the connection to use TLS encryption immediately after
            reading the greeting and capabilities of the server. If the server
            does not support the STARTTLS extension, then the connection will
            fail and a <see cref="T:System.NotSupportedException"/> will be thrown.
            </summary>
        </member>
        <member name="F:MailKit.Security.SecureSocketOptions.StartTlsWhenAvailable">
            <summary>
            Elevates the connection to use TLS encryption immediately after
            reading the greeting and capabilities of the server, but only if
            the server supports the STARTTLS extension.
            </summary>
        </member>
        <member name="T:MailKit.Security.SslHandshakeException">
            <summary>
            The exception that is thrown when there is an error during the SSL/TLS handshake.
            </summary>
            <remarks>
            <para>The exception that is thrown when there is an error during the SSL/TLS handshake.</para>
            <para>When this exception occurrs, it typically means that the IMAP, POP3 or SMTP server that
            you are connecting to is using an SSL certificate that is either expired or untrusted by
            your system.</para>
            <para>Often times, mail servers will use self-signed certificates instead of using a certificate
            that has been signed by a trusted Certificate Authority. When your system is unable to validate
            the mail server's certificate because it is not signed by a known and trusted Certificate Authority,
            this exception will occur.</para>
            <para>You can work around this problem by supplying a custom <see cref="T:System.Net.Security.RemoteCertificateValidationCallback"/>
            and setting it on the client's <see cref="P:MailKit.MailService.ServerCertificateValidationCallback"/> property.</para>
            <para>Most likely, you'll want to compare the thumbprint of the server's certificate with a known
            value and/or prompt the user to accept the certificate (similar to what you've probably seen web
            browsers do when they encounter untrusted certificates).</para>
            </remarks>
        </member>
        <member name="M:MailKit.Security.SslHandshakeException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SslHandshakeException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.SslHandshakeException"/> from the seriaized data.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.Security.SslHandshakeException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SslHandshakeException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.SslHandshakeException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">An inner exception.</param>
        </member>
        <member name="M:MailKit.Security.SslHandshakeException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SslHandshakeException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.SslHandshakeException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.Security.SslHandshakeException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Security.SslHandshakeException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Security.SslHandshakeException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.AccessControl">
            <summary>
            An Access Control.
            </summary>
            <remarks>
            An Access Control is a set of permissions available for a particular identity,
            controlling whether or not that identity has the ability to perform various tasks.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
        </member>
        <member name="M:MailKit.AccessControl.#ctor(System.String,System.Collections.Generic.IEnumerable{MailKit.AccessRight})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessControl"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.AccessControl"/> with the given name and
            access rights.
            </remarks>
            <param name="name">The identifier name.</param>
            <param name="rights">The access rights.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.AccessControl.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessControl"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.AccessControl"/> with the given name and
            access rights.
            </remarks>
            <param name="name">The identifier name.</param>
            <param name="rights">The access rights.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="M:MailKit.AccessControl.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessControl"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.AccessControl"/> with the given name and no
            access rights.
            </remarks>
            <param name="name">The identifier name.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.AccessControl.Name">
            <summary>
            The identifier name for the access control.
            </summary>
            <remarks>
            The identifier name for the access control.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The identifier name.</value>
        </member>
        <member name="P:MailKit.AccessControl.Rights">
            <summary>
            Get the access rights.
            </summary>
            <remarks>
            Gets the access rights.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The access rights.</value>
        </member>
        <member name="T:MailKit.AccessControlList">
            <summary>
            An Access Control List (ACL)
            </summary>
            <remarks>
            An Access Control List (ACL) is a list of access controls defining the permissions
            various identities have available.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
        </member>
        <member name="M:MailKit.AccessControlList.#ctor(System.Collections.Generic.IEnumerable{MailKit.AccessControl})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessControlList"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.AccessControlList"/>.
            </remarks>
            <param name="controls">The list of access controls.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="controls"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.AccessControlList.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessControlList"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.AccessControlList"/>.
            </remarks>
        </member>
        <member name="T:MailKit.AccessRight">
            <summary>
            An individual Access Right to be used with ACLs.
            </summary>
            <remarks>
            <para>An individual Access Right meant to be used with
            <see cref="T:MailKit.AccessControlList"/>.</para>
            <para>For more information on what rights are available,
            see https://tools.ietf.org/html/rfc4314#section-2.1
            </para>
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.LookupFolder">
            <summary>
            The access right for folder lookups.
            </summary>
            <remarks>
            Allows the <see cref="T:MailKit.IMailFolder"/> to be visible when listing folders.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.OpenFolder">
            <summary>
            The access right for opening a folder and getting the status.
            </summary>
            <remarks>
            Provides access for opening and getting the status of the folder.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.SetMessageSeen">
            <summary>
            The access right for adding or removing the Seen flag on messages in the folder.
            </summary>
            <remarks>
            Provides access to add or remove the <see cref="F:MailKit.MessageFlags.Seen"/> flag on messages within the
            <see cref="T:MailKit.IMailFolder"/>.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.SetMessageFlags">
            <summary>
            The access right for adding or removing flags (other than Seen and Deleted)
            on messages in a folder.
            </summary>
            <remarks>
            Provides access to add or remove the <see cref="T:MailKit.MessageFlags"/> on messages
            (other than <see cref="F:MailKit.MessageFlags.Seen"/> and
            <see cref="F:MailKit.MessageFlags.Deleted"/>) within the folder.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.AppendMessages">
            <summary>
            The access right allowing messages to be appended or copied into the folder.
            </summary>
            <remarks>
            Provides access to append or copy messages into the folder.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.CreateFolder">
            <summary>
            The access right allowing subfolders to be created.
            </summary>
            <remarks>
            Provides access to create subfolders.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.DeleteFolder">
            <summary>
            The access right for deleting a folder and/or its subfolders.
            </summary>
            <remarks>
            Provides access to delete the folder and/or any subfolders.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.SetMessageDeleted">
            <summary>
            The access right for adding or removing the Deleted flag to messages within a folder.
            </summary>
            <remarks>
            Provides access to add or remove the <see cref="F:MailKit.MessageFlags.Deleted"/> flag from
            messages within the folder. It also provides access for setting the
            <see cref="F:MailKit.MessageFlags.Deleted"/> flag when appending a message to a folder.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.ExpungeFolder">
            <summary>
            The access right for expunging deleted messages in a folder.
            </summary>
            <remarks>
            Provides access to expunge deleted messages in a folder.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.Administer">
            <summary>
            The access right for administering the ACLs of a folder.
            </summary>
            <remarks>
            Provides administrative access to change the ACLs for the folder.
            </remarks>
        </member>
        <member name="F:MailKit.AccessRight.Right">
            <summary>
            The character representing the particular access right.
            </summary>
            <remarks>
            Represents the character value of the access right.
            </remarks>
        </member>
        <member name="M:MailKit.AccessRight.#ctor(System.Char)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessRight"/> struct.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.AccessRight"/> struct.
            </remarks>
            <param name="right">The access right.</param>
        </member>
        <member name="M:MailKit.AccessRight.Equals(MailKit.AccessRight)">
            <summary>
            Determines whether the specified <see cref="T:MailKit.AccessRight"/> is equal to the current <see cref="T:MailKit.AccessRight"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:MailKit.AccessRight"/> is equal to the current <see cref="T:MailKit.AccessRight"/>.
            </remarks>
            <param name="other">The <see cref="T:MailKit.AccessRight"/> to compare with the current <see cref="T:MailKit.AccessRight"/>.</param>
            <returns><c>true</c> if the specified <see cref="T:MailKit.AccessRight"/> is equal to the current
            <see cref="T:MailKit.AccessRight"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:MailKit.AccessRight.op_Equality(MailKit.AccessRight,MailKit.AccessRight)">
            <summary>
            Determines whether two access rights are equal.
            </summary>
            <remarks>
            Determines whether two access rights are equal.
            </remarks>
            <returns><c>true</c> if <paramref name="right1"/> and <paramref name="right2"/> are equal; otherwise, <c>false</c>.</returns>
            <param name="right1">The first access right to compare.</param>
            <param name="right2">The second access right to compare.</param>
        </member>
        <member name="M:MailKit.AccessRight.op_Inequality(MailKit.AccessRight,MailKit.AccessRight)">
            <summary>
            Determines whether two access rights are not equal.
            </summary>
            <remarks>
            Determines whether two access rights are not equal.
            </remarks>
            <returns><c>true</c> if <paramref name="right1"/> and <paramref name="right2"/> are not equal; otherwise, <c>false</c>.</returns>
            <param name="right1">The first access right to compare.</param>
            <param name="right2">The second access right to compare.</param>
        </member>
        <member name="M:MailKit.AccessRight.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MailKit.AccessRight"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MailKit.AccessRight"/>.
            </remarks>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:MailKit.AccessRight"/>.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MailKit.AccessRight"/>;
            otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:MailKit.AccessRight.GetHashCode">
            <summary>
            Serves as a hash function for a <see cref="T:MailKit.AccessRight"/> object.
            </summary>
            <remarks>
            Serves as a hash function for a <see cref="T:MailKit.AccessRight"/> object.
            </remarks>
            <returns>A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table.</returns>
        </member>
        <member name="M:MailKit.AccessRight.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.AccessRight"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.AccessRight"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.AccessRight"/>.</returns>
        </member>
        <member name="T:MailKit.AccessRights">
            <summary>
            A set of access rights.
            </summary>
            <remarks>
            The set of access rights for a particular identity.
            </remarks>
        </member>
        <member name="M:MailKit.AccessRights.#ctor(System.Collections.Generic.IEnumerable{MailKit.AccessRight})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessRights"/> class.
            </summary>
            <remarks>
            Creates a new set of access rights.
            </remarks>
            <param name="rights">The access rights.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="rights"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.AccessRights.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessRights"/> class.
            </summary>
            <remarks>
            Creates a new set of access rights.
            </remarks>
            <param name="rights">The access rights.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="rights"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.AccessRights.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AccessRights"/> class.
            </summary>
            <remarks>
            Creates an empty set of access rights.
            </remarks>
        </member>
        <member name="P:MailKit.AccessRights.Count">
            <summary>
            Get the number of access rights in the collection.
            </summary>
            <remarks>
            Gets the number of access rights in the collection.
            </remarks>
            <value>The count.</value>
        </member>
        <member name="P:MailKit.AccessRights.IsReadOnly">
            <summary>
            Get whether or not this set of access rights is read only.
            </summary>
            <remarks>
            Gets whether or not this set of access rights is read only.
            </remarks>
            <value><c>true</c> if this collection is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.AccessRights.System#Collections#Generic#ICollection{MailKit#AccessRight}#Add(MailKit.AccessRight)">
            <summary>
            Add the specified access right.
            </summary>
            <remarks>
            Adds the specified access right if it is not already included.
            </remarks>
            <param name="right">The access right.</param>
        </member>
        <member name="M:MailKit.AccessRights.Add(MailKit.AccessRight)">
            <summary>
            Add the specified access right.
            </summary>
            <remarks>
            Adds the specified access right if it is not already included.
            </remarks>
            <returns><c>true</c> if the right was added; otherwise, <c>false</c>.</returns>
            <param name="right">The access right.</param>
        </member>
        <member name="M:MailKit.AccessRights.Add(System.Char)">
            <summary>
            Add the specified right.
            </summary>
            <remarks>
            Adds the right specified by the given character.
            </remarks>
            <returns><c>true</c> if the right was added; otherwise, <c>false</c>.</returns>
            <param name="right">The right.</param>
        </member>
        <member name="M:MailKit.AccessRights.AddRange(System.String)">
            <summary>
            Add the rights specified by the characters in the given string.
            </summary>
            <remarks>
            Adds the rights specified by the characters in the given string.
            </remarks>
            <param name="rights">The rights.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="rights"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.AccessRights.AddRange(System.Collections.Generic.IEnumerable{MailKit.AccessRight})">
            <summary>
            Add the range of specified rights.
            </summary>
            <remarks>
            Adds the range of specified rights.
            </remarks>
            <param name="rights">The rights.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="rights"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.AccessRights.Clear">
            <summary>
            Clears the access rights.
            </summary>
            <remarks>
            Removes all of the access rights.
            </remarks>
        </member>
        <member name="M:MailKit.AccessRights.Contains(MailKit.AccessRight)">
            <summary>
            Checks if the set of access rights contains the specified right.
            </summary>
            <remarks>
            Determines whether or not the set of access rights already contains the specified right
            </remarks>
            <returns><value>true</value> if the specified right exists; otherwise <value>false</value>.</returns>
            <param name="right">The access right.</param>
        </member>
        <member name="M:MailKit.AccessRights.CopyTo(MailKit.AccessRight[],System.Int32)">
            <summary>
            Copies all of the access rights to the specified array.
            </summary>
            <remarks>
            Copies all of the access rights into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array.</param>
            <param name="arrayIndex">The array index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.AccessRights.Remove(MailKit.AccessRight)">
            <summary>
            Removes the specified access right.
            </summary>
            <remarks>
            Removes the specified access right.
            </remarks>
            <returns><value>true</value> if the access right was removed; otherwise <value>false</value>.</returns>
            <param name="right">The access right.</param>
        </member>
        <member name="P:MailKit.AccessRights.Item(System.Int32)">
            <summary>
            Get the access right at the specified index.
            </summary>
            <remarks>
            Gets the access right at the specified index.
            </remarks>
            <value>The access right at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.AccessRights.GetEnumerator">
            <summary>
            Get the access rights enumerator.
            </summary>
            <remarks>
            Gets the access rights enumerator.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.AccessRights.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get the access rights enumerator.
            </summary>
            <remarks>
            Gets the access rights enumerator.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.AccessRights.ToString">
            <summary>
            Return a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.AccessRights"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.AccessRights"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.AccessRights"/>.</returns>
        </member>
        <member name="T:MailKit.AlertEventArgs">
            <summary>
            Alert event arguments.
            </summary>
            <remarks>
            Some <see cref="T:MailKit.IMailStore"/> implementations, such as
            <see cref="T:MailKit.Net.Imap.ImapClient"/>, will emit Alert
            events when they receive alert messages from the server.
            </remarks>
        </member>
        <member name="M:MailKit.AlertEventArgs.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AlertEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.AlertEventArgs"/>.
            </remarks>
            <param name="message">The alert message.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.AlertEventArgs.Message">
            <summary>
            Gets the alert message.
            </summary>
            <remarks>
            The alert message will be the exact message received from the server.
            </remarks>
            <value>The alert message.</value>
        </member>
        <member name="T:MailKit.AuthenticatedEventArgs">
            <summary>
            Authenticated event arguments.
            </summary>
            <remarks>
            Some servers, such as GMail IMAP, will send some free-form text in
            the response to a successful login.
            </remarks>
        </member>
        <member name="M:MailKit.AuthenticatedEventArgs.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.AuthenticatedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.AuthenticatedEventArgs"/>.
            </remarks>
            <param name="message">The free-form text.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.AuthenticatedEventArgs.Message">
            <summary>
            Get the free-form text sent by the server.
            </summary>
            <remarks>
            Gets the free-form text sent by the server.
            </remarks>
            <value>The free-form text sent by the server.</value>
        </member>
        <member name="T:MailKit.BodyPart">
            <summary>
            An abstract body part of a message.
            </summary>
            <remarks>
            Each body part will actually be a <see cref="T:MailKit.BodyPartBasic"/>,
            <see cref="T:MailKit.BodyPartText"/>, <see cref="T:MailKit.BodyPartMessage"/>, or
            <see cref="T:MailKit.BodyPartMultipart"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
        </member>
        <member name="M:MailKit.BodyPart.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.BodyPart"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.BodyPart"/>.
            </remarks>
        </member>
        <member name="P:MailKit.BodyPart.ContentType">
            <summary>
            Gets the Content-Type of the body part.
            </summary>
            <remarks>
            Gets the Content-Type of the body part.
            </remarks>
            <value>The content type.</value>
        </member>
        <member name="P:MailKit.BodyPart.PartSpecifier">
            <summary>
            Gets the part specifier.
            </summary>
            <remarks>
            Gets the part specifier.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <value>The part specifier.</value>
        </member>
        <member name="M:MailKit.BodyPart.Accept(MailKit.BodyPartVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME body part.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MailKit.BodyPart"/> nodes
            calls <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MailKit.BodyPartVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.BodyPart.Encode(System.Text.StringBuilder)">
            <summary>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <remarks>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </remarks>
            <param name="builder">The string builder.</param>
        </member>
        <member name="M:MailKit.BodyPart.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.BodyPart"/>.
            </summary>
            <remarks>
            <para>Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.BodyPart"/>.</para>
            <note type="note">The syntax of the string returned, while similar to IMAP's BODYSTRUCTURE syntax,
            is not completely compatible.</note>
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.BodyPart"/>.</returns>
        </member>
        <member name="M:MailKit.BodyPart.TryParse(System.String,MailKit.BodyPart@)">
            <summary>
            Tries to parse the given text into a new <see cref="T:MailKit.BodyPart"/> instance.
            </summary>
            <remarks>
            <para>Parses a body part from the specified text.</para>
            <note type="note">This syntax, while similar to IMAP's BODYSTRUCTURE syntax, is not completely
            compatible.</note>
            </remarks>
            <returns><c>true</c>, if the body part was successfully parsed, <c>false</c> otherwise.</returns>
            <param name="text">The text to parse.</param>
            <param name="part">The parsed body part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.BodyPartBasic">
            <summary>
            A basic message body part.
            </summary>
            <remarks>
            Represents any message body part that is not a multipart,
            message/rfc822 part, or a text part.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
        </member>
        <member name="M:MailKit.BodyPartBasic.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.BodyPartBasic"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.BodyPartBasic"/>.
            </remarks>
        </member>
        <member name="P:MailKit.BodyPartBasic.ContentId">
            <summary>
            Gets the Content-Id of the body part, if available.
            </summary>
            <remarks>
            Gets the Content-Id of the body part, if available.
            </remarks>
            <value>The content identifier.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.ContentDescription">
            <summary>
            Gets the Content-Description of the body part, if available.
            </summary>
            <remarks>
            Gets the Content-Description of the body part, if available.
            </remarks>
            <value>The content description.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.ContentTransferEncoding">
            <summary>
            Gets the Content-Transfer-Encoding of the body part.
            </summary>
            <remarks>
            <para>Gets the Content-Transfer-Encoding of the body part.</para>
            <para>Hint: Use the <a href="M_MimeKit_Utils_MimeUtils_TryParse_1.htm">MimeUtils.TryParse</a>
            method to parse this value into a usable <see cref="T:MimeKit.ContentEncoding"/>.</para>
            </remarks>
            <value>The content transfer encoding.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.Octets">
            <summary>
            Gets the size of the body part, in bytes.
            </summary>
            <remarks>
            Gets the size of the body part, in bytes.
            </remarks>
            <value>The number of octets.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.ContentMd5">
            <summary>
            Gets the MD5 hash of the content, if available.
            </summary>
            <remarks>
            Gets the MD5 hash of the content, if available.
            </remarks>
            <value>The content md5.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.ContentDisposition">
            <summary>
            Gets the Content-Disposition of the body part, if available.
            </summary>
            <remarks>
            <para>Gets the Content-Disposition of the body part, if available.</para>
            <note type="note">The Content-Disposition value is only retrieved if the
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> flag is used when fetching
            summary information from an <see cref="T:MailKit.IMailFolder"/>.</note>
            </remarks>
            <value>The content disposition.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.ContentLanguage">
            <summary>
            Gets the Content-Language of the body part, if available.
            </summary>
            <remarks>
            <para>Gets the Content-Language of the body part, if available.</para>
            <para>The Content-Language value is only retrieved if the
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> flag is used when fetching
            summary information from an <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The content language.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.ContentLocation">
            <summary>
            Gets the Content-Location of the body part, if available.
            </summary>
            <remarks>
            <para>Gets the Content-Location of the body part, if available.</para>
            <para>The Content-Location value is only retrieved if the
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> flag is used when fetching
            summary information from an <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The content location.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.IsAttachment">
            <summary>
            Determines whether or not the body part is an attachment.
            </summary>
            <remarks>
            <para>Determines whether or not the body part is an attachment based on the value of
            the Content-Disposition.</para>
            <note type="note">Since the value of the Content-Disposition header is needed, it
            is necessary to include the <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> flag when
            fetching summary information from an <see cref="T:MailKit.IMailFolder"/>.</note>
            </remarks>
            <value><c>true</c> if this part is an attachment; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.BodyPartBasic.FileName">
            <summary>
            Get the name of the file.
            </summary>
            <remarks>
            <para>First checks for the "filename" parameter on the Content-Disposition header. If
            that does not exist, then the "name" parameter on the Content-Type header is used.</para>
            <note type="note">Since the value of the Content-Disposition header is needed, it is
            necessary to include the <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> flag when
            fetching summary information from an <see cref="T:MailKit.IMailFolder"/>.</note>
            </remarks>
            <value>The name of the file.</value>
        </member>
        <member name="M:MailKit.BodyPartBasic.Accept(MailKit.BodyPartVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME body part.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MailKit.BodyPart"/> nodes
            calls <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MailKit.BodyPartVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartBasic.Encode(System.Text.StringBuilder)">
            <summary>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <remarks>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </remarks>
            <param name="builder">The string builder.</param>
        </member>
        <member name="T:MailKit.BodyPartCollection">
            <summary>
            A <see cref="T:MailKit.BodyPart"/> collection.
            </summary>
            <remarks>
            A <see cref="T:MailKit.BodyPart"/> collection.
            </remarks>
        </member>
        <member name="M:MailKit.BodyPartCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.BodyPartCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.BodyPartCollection"/>.
            </remarks>
        </member>
        <member name="P:MailKit.BodyPartCollection.Count">
            <summary>
            Get the number of body parts in the collection.
            </summary>
            <remarks>
            Gets the number of body parts in the collection.
            </remarks>
            <value>The count.</value>
        </member>
        <member name="P:MailKit.BodyPartCollection.IsReadOnly">
            <summary>
            Get whether or not this body part collection is read only.
            </summary>
            <remarks>
            Gets whether or not this body part collection is read only.
            </remarks>
            <value><c>true</c> if this collection is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.BodyPartCollection.Add(MailKit.BodyPart)">
            <summary>
            Add the specified body part to the collection.
            </summary>
            <remarks>
            Adds the specified body part to the collection.
            </remarks>
            <param name="part">The body part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartCollection.Clear">
            <summary>
            Clears the body part collection.
            </summary>
            <remarks>
            Removes all of the body parts from the collection.
            </remarks>
        </member>
        <member name="M:MailKit.BodyPartCollection.Contains(MailKit.BodyPart)">
            <summary>
            Checks if the collection contains the specified body part.
            </summary>
            <remarks>
            Determines whether or not the collection contains the specified body part.
            </remarks>
            <returns><value>true</value> if the specified body part exists; otherwise <value>false</value>.</returns>
            <param name="part">The body part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartCollection.CopyTo(MailKit.BodyPart[],System.Int32)">
            <summary>
            Copies all of the body parts in the collection to the specified array.
            </summary>
            <remarks>
            Copies all of the body parts within the collection into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array.</param>
            <param name="arrayIndex">The array index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartCollection.Remove(MailKit.BodyPart)">
            <summary>
            Removes the specified body part.
            </summary>
            <remarks>
            Removes the specified body part.
            </remarks>
            <returns><value>true</value> if the body part was removed; otherwise <value>false</value>.</returns>
            <param name="part">The body part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.BodyPartCollection.Item(System.Int32)">
            <summary>
            Get the body part at the specified index.
            </summary>
            <remarks>
            Gets the body part at the specified index.
            </remarks>
            <value>The body part at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartCollection.IndexOf(System.Uri)">
            <summary>
            Gets the index of the body part matching the specified URI.
            </summary>
            <remarks>
            <para>Finds the index of the body part matching the specified URI, if it exists.</para>
            <para>If the URI scheme is <c>"cid"</c>, then matching is performed based on the Content-Id header
            values, otherwise the Content-Location headers are used. If the provided URI is absolute and a child
            part's Content-Location is relative, then then the child part's Content-Location URI will be combined
            with the value of its Content-Base header, if available, otherwise it will be combined with the
            multipart/related part's Content-Base header in order to produce an absolute URI that can be
            compared with the provided absolute URI.</para>
            </remarks>
            <returns>The index of the part matching the specified URI if found; otherwise <c>-1</c>.</returns>
            <param name="uri">The URI of the body part.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartCollection.GetEnumerator">
            <summary>
            Get the body part enumerator.
            </summary>
            <remarks>
            Gets the body part enumerator.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.BodyPartCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get the body part enumerator.
            </summary>
            <remarks>
            Gets the body part enumerator.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="T:MailKit.BodyPartMessage">
            <summary>
            A message/rfc822 body part.
            </summary>
            <remarks>
            Represents a message/rfc822 body part.
            </remarks>
        </member>
        <member name="M:MailKit.BodyPartMessage.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.BodyPartMessage"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.BodyPartMessage"/>.
            </remarks>
        </member>
        <member name="P:MailKit.BodyPartMessage.Envelope">
            <summary>
            Gets the envelope of the message, if available.
            </summary>
            <remarks>
            Gets the envelope of the message, if available.
            </remarks>
            <value>The envelope.</value>
        </member>
        <member name="P:MailKit.BodyPartMessage.Body">
            <summary>
            Gets the body structure of the message.
            </summary>
            <remarks>
            Gets the body structure of the message.
            </remarks>
            <value>The body structure.</value>
        </member>
        <member name="P:MailKit.BodyPartMessage.Lines">
            <summary>
            Gets the length of the message, in lines.
            </summary>
            <remarks>
            Gets the length of the message, in lines.
            </remarks>
            <value>The number of lines.</value>
        </member>
        <member name="M:MailKit.BodyPartMessage.Accept(MailKit.BodyPartVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME body part.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MailKit.BodyPart"/> nodes
            calls <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MailKit.BodyPartVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartMessage.Encode(System.Text.StringBuilder)">
            <summary>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <remarks>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </remarks>
            <param name="builder">The string builder.</param>
        </member>
        <member name="T:MailKit.BodyPartMultipart">
            <summary>
            A multipart body part.
            </summary>
            <remarks>
            A multipart body part.
            </remarks>
        </member>
        <member name="M:MailKit.BodyPartMultipart.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.BodyPartMultipart"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.BodyPartMultipart"/>.
            </remarks>
        </member>
        <member name="P:MailKit.BodyPartMultipart.BodyParts">
            <summary>
            Gets the child body parts.
            </summary>
            <remarks>
            Gets the child body parts.
            </remarks>
            <value>The child body parts.</value>
        </member>
        <member name="P:MailKit.BodyPartMultipart.ContentDisposition">
            <summary>
            Gets the Content-Disposition of the body part, if available.
            </summary>
            <remarks>
            Gets the Content-Disposition of the body part, if available.
            </remarks>
            <value>The content disposition.</value>
        </member>
        <member name="P:MailKit.BodyPartMultipart.ContentLanguage">
            <summary>
            Gets the Content-Language of the body part, if available.
            </summary>
            <remarks>
            Gets the Content-Language of the body part, if available.
            </remarks>
            <value>The content language.</value>
        </member>
        <member name="P:MailKit.BodyPartMultipart.ContentLocation">
            <summary>
            Gets the Content-Location of the body part, if available.
            </summary>
            <remarks>
            Gets the Content-Location of the body part, if available.
            </remarks>
            <value>The content location.</value>
        </member>
        <member name="M:MailKit.BodyPartMultipart.Accept(MailKit.BodyPartVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME body part.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MailKit.BodyPart"/> nodes
            calls <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MailKit.BodyPartVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartMultipart.Encode(System.Text.StringBuilder)">
            <summary>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <remarks>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </remarks>
            <param name="builder">The string builder.</param>
        </member>
        <member name="T:MailKit.BodyPartText">
            <summary>
            A textual body part.
            </summary>
            <remarks>
            Represents any body part with a media type of "text".
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
        </member>
        <member name="M:MailKit.BodyPartText.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.BodyPartText"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.BodyPartText"/>.
            </remarks>
        </member>
        <member name="P:MailKit.BodyPartText.IsPlain">
            <summary>
            Gets whether or not this text part contains plain text.
            </summary>
            <remarks>
            Checks whether or not the text part's Content-Type is text/plain.
            </remarks>
            <value><c>true</c> if the text is html; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.BodyPartText.IsHtml">
            <summary>
            Gets whether or not this text part contains HTML.
            </summary>
            <remarks>
            Checks whether or not the text part's Content-Type is text/html.
            </remarks>
            <value><c>true</c> if the text is html; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.BodyPartText.Lines">
            <summary>
            Gets the length of the text, in lines.
            </summary>
            <remarks>
            Gets the length of the text, in lines.
            </remarks>
            <value>The number of lines.</value>
        </member>
        <member name="M:MailKit.BodyPartText.Accept(MailKit.BodyPartVisitor)">
            <summary>
            Dispatches to the specific visit method for this MIME body part.
            </summary>
            <remarks>
            This default implementation for <see cref="T:MailKit.BodyPart"/> nodes
            calls <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>. Override this
            method to call into a more specific method on a derived visitor class
            of the <see cref="T:MailKit.BodyPartVisitor"/> class. However, it should still
            support unknown visitors by calling
            <see cref="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)"/>.
            </remarks>
            <param name="visitor">The visitor.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="visitor"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.BodyPartText.Encode(System.Text.StringBuilder)">
            <summary>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </summary>
            <remarks>
            Encodes the <see cref="T:MailKit.BodyPart"/> into the <see cref="T:System.Text.StringBuilder"/>.
            </remarks>
            <param name="builder">The string builder.</param>
        </member>
        <member name="T:MailKit.BodyPartVisitor">
            <summary>
            Represents a visitor for a tree of MIME body parts.
            </summary>
            <remarks>
            This class is designed to be inherited to create more specialized classes whose
            functionality requires traversing, examining or copying a tree of MIME body parts.
            </remarks>
        </member>
        <member name="M:MailKit.BodyPartVisitor.Visit(MailKit.BodyPart)">
            <summary>
            Dispatches the entity to one of the more specialized visit methods in this class.
            </summary>
            <remarks>
            Dispatches the entity to one of the more specialized visit methods in this class.
            </remarks>
            <param name="body">The MIME body part.</param>
        </member>
        <member name="M:MailKit.BodyPartVisitor.VisitBodyPart(MailKit.BodyPart)">
            <summary>
            Visit the abstract MIME body part.
            </summary>
            <remarks>
            Visits the abstract MIME body part.
            </remarks>
            <param name="entity">The MIME body part.</param>
        </member>
        <member name="M:MailKit.BodyPartVisitor.VisitBodyPartBasic(MailKit.BodyPartBasic)">
            <summary>
            Visit the basic MIME body part.
            </summary>
            <remarks>
            Visits the basic MIME body part.
            </remarks>
            <param name="entity">The basic MIME body part.</param>
        </member>
        <member name="M:MailKit.BodyPartVisitor.VisitMessage(MailKit.BodyPart)">
            <summary>
            Visit the message contained within a message/rfc822 or message/news MIME entity.
            </summary>
            <remarks>
            Visits the message contained within a message/rfc822 or message/news MIME entity.
            </remarks>
            <param name="message">The body part representing the message/rfc822 message.</param>
        </member>
        <member name="M:MailKit.BodyPartVisitor.VisitBodyPartMessage(MailKit.BodyPartMessage)">
            <summary>
            Visit the message/rfc822 or message/news MIME entity.
            </summary>
            <remarks>
            Visits the message/rfc822 or message/news MIME entity.
            </remarks>
            <param name="entity">The message/rfc822 or message/news body part.</param>
        </member>
        <member name="M:MailKit.BodyPartVisitor.VisitChildren(MailKit.BodyPartMultipart)">
            <summary>
            Visit the children of a <see cref="T:MailKit.BodyPartMultipart"/>.
            </summary>
            <remarks>
            Visits the children of a <see cref="T:MailKit.BodyPartMultipart"/>.
            </remarks>
            <param name="multipart">The multipart.</param>
        </member>
        <member name="M:MailKit.BodyPartVisitor.VisitBodyPartMultipart(MailKit.BodyPartMultipart)">
            <summary>
            Visit the abstract multipart MIME entity.
            </summary>
            <remarks>
            Visits the abstract multipart MIME entity.
            </remarks>
            <param name="multipart">The multipart body part.</param>
        </member>
        <member name="M:MailKit.BodyPartVisitor.VisitBodyPartText(MailKit.BodyPartText)">
            <summary>
            Visit the text-based MIME part entity.
            </summary>
            <remarks>
            Visits the text-based MIME part entity.
            </remarks>
            <param name="entity">The text-based body part.</param>
        </member>
        <member name="T:MailKit.CommandException">
            <summary>
            The exception that is thrown when there is a command error.
            </summary>
            <remarks>
            A <see cref="T:MailKit.CommandException"/> can be thrown by any of the various client
            methods in MailKit. Unlike a <see cref="T:MailKit.ProtocolException"/>, a
            <see cref="T:MailKit.CommandException"/> is typically non-fatal (meaning that it does
            not force the client to disconnect).
            </remarks>
        </member>
        <member name="M:MailKit.CommandException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.CommandException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.CommandException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.CommandException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">An inner exception.</param>
        </member>
        <member name="M:MailKit.CommandException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.CommandException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.CommandException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.CommandException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.CommandException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.CompressedStream">
            <summary>
            A compressed stream.
            </summary>
        </member>
        <member name="P:MailKit.CompressedStream.BaseStream">
            <summary>
            Gets the base stream.
            </summary>
            <value>The base stream.</value>
        </member>
        <member name="P:MailKit.CompressedStream.CanRead">
            <summary>
            Gets whether the stream supports reading.
            </summary>
            <value><c>true</c> if the stream supports reading; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.CompressedStream.CanWrite">
            <summary>
            Gets whether the stream supports writing.
            </summary>
            <value><c>true</c> if the stream supports writing; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.CompressedStream.CanSeek">
            <summary>
            Gets whether the stream supports seeking.
            </summary>
            <value><c>true</c> if the stream supports seeking; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.CompressedStream.CanTimeout">
            <summary>
            Gets whether the stream supports I/O timeouts.
            </summary>
            <value><c>true</c> if the stream supports I/O timeouts; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.CompressedStream.ReadTimeout">
            <summary>
            Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out.
            </summary>
            <returns>A value, in miliseconds, that determines how long the stream will attempt to read before timing out.</returns>
            <value>The read timeout.</value>
        </member>
        <member name="P:MailKit.CompressedStream.WriteTimeout">
            <summary>
            Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out.
            </summary>
            <returns>A value, in miliseconds, that determines how long the stream will attempt to write before timing out.</returns>
            <value>The write timeout.</value>
        </member>
        <member name="P:MailKit.CompressedStream.Position">
            <summary>
            Gets or sets the position within the current stream.
            </summary>
            <returns>The current position within the stream.</returns>
            <value>The position of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="P:MailKit.CompressedStream.Length">
            <summary>
            Gets the length in bytes of the stream.
            </summary>
            <returns>A long value representing the length of the stream in bytes.</returns>
            <value>The length of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.Flush">
            <summary>
            Clears all output buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Clears all output buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream.
            </summary>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
        </member>
        <member name="M:MailKit.CompressedStream.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.DuplexStream"/> and
            optionally releases the managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MailKit.ConnectedEventArgs">
            <summary>
            Connected event arguments.
            </summary>
            <remarks>
            When a <see cref="T:MailKit.IMailService"/> is connected, it will emit a
            <see cref="E:MailKit.IMailService.Connected"/> event.
            </remarks>
        </member>
        <member name="M:MailKit.ConnectedEventArgs.#ctor(System.String,System.Int32,MailKit.Security.SecureSocketOptions)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ConnectedEventArgs"/> class.
            </summary>
            <param name="host">The name of the host that the client connected to.</param>
            <param name="port">The port that the client connected to on the remote host.</param>
            <param name="options">The SSL/TLS options that were used when connecting to the remote host.</param>
        </member>
        <member name="P:MailKit.ConnectedEventArgs.Host">
            <summary>
            Get the name of the remote host.
            </summary>
            <remarks>
            Gets the name of the remote host.
            </remarks>
            <value>The host name of the server.</value>
        </member>
        <member name="P:MailKit.ConnectedEventArgs.Port">
            <summary>
            Get the port.
            </summary>
            <remarks>
            Gets the port.
            </remarks>
            <value>The port.</value>
        </member>
        <member name="P:MailKit.ConnectedEventArgs.Options">
            <summary>
            Get the SSL/TLS options.
            </summary>
            <remarks>
            Gets the SSL/TLS options.
            </remarks>
            <value>The SSL/TLS options.</value>
        </member>
        <member name="T:MailKit.DeliveryStatusNotification">
            <summary>
            Delivery status notification types.
            </summary>
            <remarks>
            A set of flags that may be bitwise-or'd together to specify
            when a delivery status notification should be sent for a
            particlar recipient.
            </remarks>
        </member>
        <member name="F:MailKit.DeliveryStatusNotification.Never">
            <summary>
            Never send delivery status notifications.
            </summary>
        </member>
        <member name="F:MailKit.DeliveryStatusNotification.Success">
            <summary>
            Send a notification on successful delivery to the recipient.
            </summary>
        </member>
        <member name="F:MailKit.DeliveryStatusNotification.Failure">
            <summary>
            Send a notification on failure to deliver to the recipient.
            </summary>
        </member>
        <member name="F:MailKit.DeliveryStatusNotification.Delay">
            <summary>
            Send a notification when the delivery to the recipient has
            been delayed for an unusual amount of time.
            </summary>
        </member>
        <member name="T:MailKit.DisconnectedEventArgs">
            <summary>
            Disconnected event arguments.
            </summary>
            <remarks>
            When a <see cref="T:MailKit.IMailService"/> gets disconnected, it will emit a
            <see cref="E:MailKit.IMailService.Disconnected"/> event.
            </remarks>
        </member>
        <member name="M:MailKit.DisconnectedEventArgs.#ctor(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.DisconnectedEventArgs"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.DisconnectedEventArgs"/> class.
            </remarks>
            <param name="host">The name of the host that the client was connected to.</param>
            <param name="port">The port that the client was connected to.</param>
            <param name="options">The SSL/TLS options that were used by the client.</param>
            <param name="requested">If <c>true</c>, the <see cref="T:MailKit.IMailService"/> was disconnected via the
            <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/> method.</param>
        </member>
        <member name="P:MailKit.DisconnectedEventArgs.IsRequested">
            <summary>
            Get whether or not the service was explicitly asked to disconnect.
            </summary>
            <remarks>
            If the <see cref="T:MailKit.IMailService"/> was disconnected via the
            <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/> method, then
            the value of <see cref="P:MailKit.DisconnectedEventArgs.IsRequested"/> will be <c>true</c>. If the connection was unexpectedly
            dropped, then the value will be <c>false</c>.
            </remarks>
            <value><c>true</c> if the disconnect was explicitly requested; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:MailKit.DuplexStream">
            <summary>
            A duplex stream.
            </summary>
        </member>
        <member name="M:MailKit.DuplexStream.#ctor(System.IO.Stream,System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.DuplexStream"/> class.
            </summary>
            <param name="istream">The stream to use for input.</param>
            <param name="ostream">The stream to use for output.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="istream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="ostream"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.DuplexStream.InputStream">
            <summary>
            Gets the input stream.
            </summary>
            <value>The input stream.</value>
        </member>
        <member name="P:MailKit.DuplexStream.OutputStream">
            <summary>
            Gets the output stream.
            </summary>
            <value>The output stream.</value>
        </member>
        <member name="P:MailKit.DuplexStream.CanRead">
            <summary>
            Gets whether the stream supports reading.
            </summary>
            <value><c>true</c> if the stream supports reading; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.DuplexStream.CanWrite">
            <summary>
            Gets whether the stream supports writing.
            </summary>
            <value><c>true</c> if the stream supports writing; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.DuplexStream.CanSeek">
            <summary>
            Gets whether the stream supports seeking.
            </summary>
            <value><c>true</c> if the stream supports seeking; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.DuplexStream.CanTimeout">
            <summary>
            Gets whether the stream supports I/O timeouts.
            </summary>
            <value><c>true</c> if the stream supports I/O timeouts; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.DuplexStream.ReadTimeout">
            <summary>
            Gets or sets a value, in miliseconds, that determines how long the stream will attempt to read before timing out.
            </summary>
            <returns>A value, in miliseconds, that determines how long the stream will attempt to read before timing out.</returns>
            <value>The read timeout.</value>
        </member>
        <member name="P:MailKit.DuplexStream.WriteTimeout">
            <summary>
            Gets or sets a value, in miliseconds, that determines how long the stream will attempt to write before timing out.
            </summary>
            <returns>A value, in miliseconds, that determines how long the stream will attempt to write before timing out.</returns>
            <value>The write timeout.</value>
        </member>
        <member name="P:MailKit.DuplexStream.Position">
            <summary>
            Gets or sets the position within the current stream.
            </summary>
            <returns>The current position within the stream.</returns>
            <value>The position of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="P:MailKit.DuplexStream.Length">
            <summary>
            Gets the length in bytes of the stream.
            </summary>
            <returns>A long value representing the length of the stream in bytes.</returns>
            <value>The length of the stream.</value>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Reads a sequence of bytes from the stream and advances the position
            within the stream by the number of bytes read.
            </summary>
            <returns>The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many
            bytes are not currently available, or zero (0) if the end of the stream has been reached.</returns>
            <param name="buffer">The buffer.</param>
            <param name="offset">The buffer offset.</param>
            <param name="count">The number of bytes to read.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Writes a sequence of bytes to the stream and advances the current
            position within this stream by the number of bytes written.
            </summary>
            <returns>A task that represents the asynchronous write operation.</returns>
            <param name="buffer">The buffer to write.</param>
            <param name="offset">The offset of the first byte to write.</param>
            <param name="count">The number of bytes to write.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.Flush">
            <summary>
            Clears all output buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.FlushAsync(System.Threading.CancellationToken)">
            <summary>
            Clears all output buffers for this stream and causes any buffered data to be written
            to the underlying device.
            </summary>
            <returns>A task that represents the asynchronous flush operation.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The stream has been disposed.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The stream does not support writing.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the position within the current stream.
            </summary>
            <returns>The new position within the stream.</returns>
            <param name="offset">The offset into the stream relative to the <paramref name="origin"/>.</param>
            <param name="origin">The origin to seek from.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support seeking.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the stream.
            </summary>
            <param name="value">The desired length of the stream in bytes.</param>
            <exception cref="T:System.NotSupportedException">
            The stream does not support setting the length.
            </exception>
        </member>
        <member name="M:MailKit.DuplexStream.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.DuplexStream"/> and
            optionally releases the managed resources.
            </summary>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="T:MailKit.Envelope">
            <summary>
            A message envelope containing a brief summary of the message.
            </summary>
            <remarks>
            The envelope of a message contains information such as the
            date the message was sent, the subject of the message,
            the sender of the message, who the message was sent to,
            which message(s) the message may be in reply to,
            and the message id.
            </remarks>
        </member>
        <member name="M:MailKit.Envelope.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Envelope"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Envelope"/>.
            </remarks>
        </member>
        <member name="P:MailKit.Envelope.From">
            <summary>
            Gets the address(es) that the message is from.
            </summary>
            <remarks>
            Gets the address(es) that the message is from.
            </remarks>
            <value>The address(es) that the message is from.</value>
        </member>
        <member name="P:MailKit.Envelope.Sender">
            <summary>
            Gets the actual sender(s) of the message.
            </summary>
            <remarks>
            The senders may differ from the addresses in <see cref="P:MailKit.Envelope.From"/> if
            the message was sent by someone on behalf of someone else.
            </remarks>
            <value>The actual sender(s) of the message.</value>
        </member>
        <member name="P:MailKit.Envelope.ReplyTo">
            <summary>
            Gets the address(es) that replies should be sent to.
            </summary>
            <remarks>
            The senders of the message may prefer that replies are sent
            somewhere other than the address they used to send the message.
            </remarks>
            <value>The address(es) that replies should be sent to.</value>
        </member>
        <member name="P:MailKit.Envelope.To">
            <summary>
            Gets the list of addresses that the message was sent to.
            </summary>
            <remarks>
            Gets the list of addresses that the message was sent to.
            </remarks>
            <value>The address(es) that the message was sent to.</value>
        </member>
        <member name="P:MailKit.Envelope.Cc">
            <summary>
            Gets the list of addresses that the message was carbon-copied to.
            </summary>
            <remarks>
            Gets the list of addresses that the message was carbon-copied to.
            </remarks>
            <value>The address(es) that the message was carbon-copied to.</value>
        </member>
        <member name="P:MailKit.Envelope.Bcc">
            <summary>
            Gets the list of addresses that the message was blind-carbon-copied to.
            </summary>
            <remarks>
            Gets the list of addresses that the message was blind-carbon-copied to.
            </remarks>
            <value>The address(es) that the message was carbon-copied to.</value>
        </member>
        <member name="P:MailKit.Envelope.InReplyTo">
            <summary>
            The Message-Id that the message is replying to.
            </summary>
            <remarks>
            The Message-Id that the message is replying to.
            </remarks>
            <value>The Message-Id that the message is replying to.</value>
        </member>
        <member name="P:MailKit.Envelope.Date">
            <summary>
            Gets the date that the message was sent on, if available.
            </summary>
            <remarks>
            Gets the date that the message was sent on, if available.
            </remarks>
            <value>The date the message was sent.</value>
        </member>
        <member name="P:MailKit.Envelope.MessageId">
            <summary>
            Gets the ID of the message, if available.
            </summary>
            <remarks>
            Gets the ID of the message, if available.
            </remarks>
            <value>The message identifier.</value>
        </member>
        <member name="P:MailKit.Envelope.Subject">
            <summary>
            Gets the subject of the message.
            </summary>
            <remarks>
            Gets the subject of the message.
            </remarks>
            <value>The subject.</value>
        </member>
        <member name="M:MailKit.Envelope.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.Envelope"/>.
            </summary>
            <remarks>
            <para>The returned string can be parsed by <see cref="M:MailKit.Envelope.TryParse(System.String,MailKit.Envelope@)"/>.</para>
            <note type="warning">The syntax of the string returned, while similar to IMAP's ENVELOPE syntax,
            is not completely compatible.</note>
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.Envelope"/>.</returns>
        </member>
        <member name="M:MailKit.Envelope.TryParse(System.String,MailKit.Envelope@)">
            <summary>
            Tries to parse the given text into a new <see cref="T:MailKit.Envelope"/> instance.
            </summary>
            <remarks>
            <para>Parses an Envelope value from the specified text.</para>
            <note type="warning">This syntax, while similar to IMAP's ENVELOPE syntax, is not
            completely compatible.</note>
            </remarks>
            <returns><c>true</c>, if the envelope was successfully parsed, <c>false</c> otherwise.</returns>
            <param name="text">The text to parse.</param>
            <param name="envelope">The parsed envelope.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="text"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.FolderAccess">
            <summary>
            A folder access mode.
            </summary>
            <remarks>
            A folder access mode.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadMessages"/>
            </example>
        </member>
        <member name="F:MailKit.FolderAccess.None">
            <summary>
            The folder is not open.
            </summary>
        </member>
        <member name="F:MailKit.FolderAccess.ReadOnly">
            <summary>
            The folder is read-only.
            </summary>
        </member>
        <member name="F:MailKit.FolderAccess.ReadWrite">
            <summary>
            The folder is read/write.
            </summary>
        </member>
        <member name="T:MailKit.FolderAttributes">
            <summary>
            Folder attributes as used by <see cref="P:MailKit.IMailFolder.Attributes"/>.
            </summary>
            <remarks>
            Folder attributes as used by <see cref="P:MailKit.IMailFolder.Attributes"/>.
            </remarks>
        </member>
        <member name="F:MailKit.FolderAttributes.None">
            <summary>
            The folder does not have any attributes.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.NoInferiors">
            <summary>
            It is not possible for any subfolders to exist under the folder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.NoSelect">
            <summary>
            It is not possible to select the folder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Marked">
            <summary>
            The folder has been marked as possibly containing new messages
            since the folder was last selected.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Unmarked">
            <summary>
            The folder does not contain any new messages since the folder
            was last selected.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.NonExistent">
            <summary>
            The folder does not exist, but is simply a place-holder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Subscribed">
            <summary>
            The folder is subscribed.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Remote">
            <summary>
            The folder is remote.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.HasChildren">
            <summary>
            The folder has subfolders.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.HasNoChildren">
            <summary>
            The folder does not have any subfolders.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.All">
            <summary>
            The folder is a special "All" folder containing an aggregate of all messages.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Archive">
            <summary>
            The folder is a special "Archive" folder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Drafts">
            <summary>
            The folder is the special "Drafts" folder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Flagged">
            <summary>
            The folder is the special "Flagged" folder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Inbox">
            <summary>
            The folder is the special "Inbox" folder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Junk">
            <summary>
            The folder is the special "Junk" folder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Sent">
            <summary>
            The folder is the special "Sent" folder.
            </summary>
        </member>
        <member name="F:MailKit.FolderAttributes.Trash">
            <summary>
            The folder is the special "Trash" folder.
            </summary>
        </member>
        <member name="T:MailKit.FolderCreatedEventArgs">
            <summary>
            Event args used when a <see cref="T:MailKit.IMailFolder"/> is created.
            </summary>
            <remarks>
            Event args used when a <see cref="T:MailKit.IMailFolder"/> is created.
            </remarks>
        </member>
        <member name="M:MailKit.FolderCreatedEventArgs.#ctor(MailKit.IMailFolder)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderCreatedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderCreatedEventArgs"/>.
            </remarks>
            <param name="folder">The newly created folder.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folder"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.FolderCreatedEventArgs.Folder">
            <summary>
            Get the folder that was just created.
            </summary>
            <remarks>
            Gets the folder that was just created.
            </remarks>
            <value>The folder.</value>
        </member>
        <member name="T:MailKit.FolderNamespace">
            <summary>
            A folder namespace.
            </summary>
            <remarks>
            A folder namespace.
            </remarks>
        </member>
        <member name="F:MailKit.FolderNamespace.DirectorySeparator">
            <summary>
            The directory separator for this folder namespace.
            </summary>
            <remarks>
            The directory separator for this folder namespace.
            </remarks>
        </member>
        <member name="F:MailKit.FolderNamespace.Path">
            <summary>
            The base path for this folder namespace.
            </summary>
            <remarks>
            The base path for this folder namespace.
            </remarks>
        </member>
        <member name="M:MailKit.FolderNamespace.#ctor(System.Char,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNamespace"/> class.
            </summary>
            <remarks>
            Creates a new folder namespace.
            </remarks>
            <param name="directorySeparator">The directory separator.</param>
            <param name="path">The folder path.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="path"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.FolderNamespaceCollection">
            <summary>
            A read-only collection of folder namespaces.
            </summary>
            <remarks>
            A read-only collection of folder namespaces.
            </remarks>
        </member>
        <member name="M:MailKit.FolderNamespaceCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNamespaceCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderNamespaceCollection"/>.
            </remarks>
        </member>
        <member name="P:MailKit.FolderNamespaceCollection.Count">
            <summary>
            Gets the number of folder namespaces contained in the collection.
            </summary>
            <remarks>
            Gets the number of folder namespaces contained in the collection.
            </remarks>
            <value>The count.</value>
        </member>
        <member name="M:MailKit.FolderNamespaceCollection.Add(MailKit.FolderNamespace)">
            <summary>
            Adds the specified namespace.
            </summary>
            <remarks>
            Adds the specified namespace.
            </remarks>
            <param name="namespace">The namespace to add.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.FolderNamespaceCollection.Clear">
            <summary>
            Removes all namespaces from the collection.
            </summary>
            <remarks>
            Removes all namespaces from the collection.
            </remarks>
        </member>
        <member name="M:MailKit.FolderNamespaceCollection.Contains(MailKit.FolderNamespace)">
            <summary>
            Checks if the collection contains the specified namespace.
            </summary>
            <remarks>
            Checks if the collection contains the specified namespace.
            </remarks>
            <returns><value>true</value> if the specified namespace exists;
            otherwise <value>false</value>.</returns>
            <param name="namespace">The namespace.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.FolderNamespaceCollection.Remove(MailKit.FolderNamespace)">
            <summary>
            Removes the first occurance of the specified namespace.
            </summary>
            <remarks>
            Removes the first occurance of the specified namespace.
            </remarks>
            <returns><value>true</value> if the frst occurance of the specified
            namespace was removed; otherwise <value>false</value>.</returns>
            <param name="namespace">The namespace.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.FolderNamespaceCollection.Item(System.Int32)">
            <summary>
            Gets the <see cref="T:MailKit.FolderNamespace"/> at the specified index.
            </summary>
            <remarks>
            Gets the <see cref="T:MailKit.FolderNamespace"/> at the specified index.
            </remarks>
            <value>The folder namespace at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="value"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.FolderNamespaceCollection.GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <remarks>
            Gets the enumerator.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.FolderNamespaceCollection.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets the enumerator.
            </summary>
            <remarks>
            Gets the enumerator.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.FolderNamespaceCollection.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.FolderNamespaceCollection"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.FolderNamespaceCollection"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.FolderNamespaceCollection"/>.</returns>
        </member>
        <member name="T:MailKit.FolderNotFoundException">
            <summary>
            The exception that is thrown when a folder could not be found.
            </summary>
            <remarks>
            This exception is thrown by <see cref="M:MailKit.IMailFolder.GetSubfolder(System.String,System.Threading.CancellationToken)"/>.
            </remarks>
        </member>
        <member name="M:MailKit.FolderNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNotFoundException"/> class.
            </summary>
            <remarks>
            Deserializes a <see cref="T:MailKit.FolderNotFoundException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.FolderNotFoundException.#ctor(System.String,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderNotFoundException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="folderName">The name of the folder.</param>
            <param name="innerException">The inner exception.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folderName"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.FolderNotFoundException.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderNotFoundException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="folderName">The name of the folder.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folderName"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.FolderNotFoundException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderNotFoundException"/>.
            </remarks>
            <param name="folderName">The name of the folder.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folderName"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.FolderNotFoundException.FolderName">
            <summary>
            Gets the name of the folder that could not be found.
            </summary>
            <remarks>
            Gets the name of the folder that could not be found.
            </remarks>
            <value>The name of the folder.</value>
        </member>
        <member name="M:MailKit.FolderNotFoundException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Serializes the state of the <see cref="T:MailKit.FolderNotFoundException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.FolderNotOpenException">
            <summary>
            The exception that is thrown when a folder is not open.
            </summary>
            <remarks>
            This exception is thrown when an operation on a folder could not be completed
            due to the folder being in a closed state. For example, the
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>
            method will throw a <see cref="T:MailKit.FolderNotOpenException"/> if the folder is not
            current open.
            </remarks>
        </member>
        <member name="M:MailKit.FolderNotOpenException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNotOpenException"/> class.
            </summary>
            <remarks>
            Deserializes a <see cref="T:MailKit.FolderNotOpenException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.FolderNotOpenException.#ctor(System.String,MailKit.FolderAccess,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNotOpenException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderNotOpenException"/>.
            </remarks>
            <param name="folderName">The folder name.</param>
            <param name="access">The minimum folder access required by the operation.</param>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folderName"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.FolderNotOpenException.#ctor(System.String,MailKit.FolderAccess,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNotOpenException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderNotOpenException"/>.
            </remarks>
            <param name="folderName">The folder name.</param>
            <param name="access">The minimum folder access required by the operation.</param>
            <param name="message">The error message.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folderName"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.FolderNotOpenException.#ctor(System.String,MailKit.FolderAccess)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderNotOpenException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderNotOpenException"/>.
            </remarks>
            <param name="folderName">The folder name.</param>
            <param name="access">The minimum folder access required by the operation.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="folderName"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.FolderNotOpenException.FolderName">
            <summary>
            Get the name of the folder.
            </summary>
            <remarks>
            Gets the name of the folder.
            </remarks>
            <value>The name of the folder.</value>
        </member>
        <member name="P:MailKit.FolderNotOpenException.FolderAccess">
            <summary>
            Get the minimum folder access required by the operation.
            </summary>
            <remarks>
            Gets the minimum folder access required by the operation.
            </remarks>
            <value>The minimum required folder access.</value>
        </member>
        <member name="M:MailKit.FolderNotOpenException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:System.Runtime.Serialization.SerializationInfo"/>
            with information about the exception.
            </summary>
            <remarks>
            Serializes the state of the <see cref="T:MailKit.FolderNotOpenException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.FolderQuota">
            <summary>
            A folder quota.
            </summary>
            <remarks>
            A <see cref="T:MailKit.FolderQuota"/> is returned by <see cref="M:MailKit.IMailFolder.GetQuota(System.Threading.CancellationToken)"/>.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
        </member>
        <member name="M:MailKit.FolderQuota.#ctor(MailKit.IMailFolder)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderQuota"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderQuota"/> with the specified root.
            </remarks>
            <param name="quotaRoot">The quota root.</param>
        </member>
        <member name="P:MailKit.FolderQuota.QuotaRoot">
            <summary>
            Get the quota root.
            </summary>
            <remarks>
            Gets the quota root. If the quota root is <c>null</c>, then
            it suggests that the folder does not have a quota.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The quota root.</value>
        </member>
        <member name="P:MailKit.FolderQuota.MessageLimit">
            <summary>
            Get or set the message limit.
            </summary>
            <remarks>
            Gets or sets the message limit.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The message limit.</value>
        </member>
        <member name="P:MailKit.FolderQuota.StorageLimit">
            <summary>
            Get or set the storage limit, in kilobytes.
            </summary>
            <remarks>
            Gets or sets the storage limit, in kilobytes.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The storage limit, in kilobytes.</value>
        </member>
        <member name="P:MailKit.FolderQuota.CurrentMessageCount">
            <summary>
            Get or set the current message count.
            </summary>
            <remarks>
            Gets or sets the current message count.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The current message count.</value>
        </member>
        <member name="P:MailKit.FolderQuota.CurrentStorageSize">
            <summary>
            Gets or sets the size of the current storage, in kilobytes.
            </summary>
            <remarks>
            Gets or sets the size of the current storage, in kilobytes.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="Capabilities"/>
            </example>
            <value>The size of the current storage, in kilobytes.</value>
        </member>
        <member name="T:MailKit.FolderRenamedEventArgs">
            <summary>
            Event args used when a <see cref="T:MailKit.IMailFolder"/> is renamed.
            </summary>
            <remarks>
            Event args used when a <see cref="T:MailKit.IMailFolder"/> is renamed.
            </remarks>
        </member>
        <member name="M:MailKit.FolderRenamedEventArgs.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.FolderRenamedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.FolderRenamedEventArgs"/>.
            </remarks>
            <param name="oldName">The old name of the folder.</param>
            <param name="newName">The new name of the folder.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="oldName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="newName"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.FolderRenamedEventArgs.OldName">
            <summary>
            The old name of the folder.
            </summary>
            <remarks>
            The old name of the folder.
            </remarks>
            <value>The old name.</value>
        </member>
        <member name="P:MailKit.FolderRenamedEventArgs.NewName">
            <summary>
            The new name of the folder.
            </summary>
            <remarks>
            The new name of the folder.
            </remarks>
            <value>The new name.</value>
        </member>
        <member name="T:MailKit.IMailFolder">
            <summary>
            An interface for a mailbox folder as used by <see cref="T:MailKit.IMailStore"/>.
            </summary>
            <remarks>
            Implemented by message stores such as <see cref="T:MailKit.Net.Imap.ImapClient"/>
            </remarks>
        </member>
        <member name="P:MailKit.IMailFolder.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the folder.
            </summary>
            <remarks>
            Gets an object that can be used to synchronize access to the folder.
            </remarks>
            <value>The sync root.</value>
        </member>
        <member name="P:MailKit.IMailFolder.ParentFolder">
            <summary>
            Get the parent folder.
            </summary>
            <remarks>
            Root-level folders do not have a parent folder.
            </remarks>
            <value>The parent folder.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Attributes">
            <summary>
            Get the folder attributes.
            </summary>
            <remarks>
            Gets the folder attributes.
            </remarks>
            <value>The folder attributes.</value>
        </member>
        <member name="P:MailKit.IMailFolder.PermanentFlags">
            <summary>
            Get the permanent flags.
            </summary>
            <remarks>
            <para>The permanent flags are the message flags that will persist between sessions.</para>
            <para>If the <see cref="F:MailKit.MessageFlags.UserDefined"/> flag is set, then the folder allows
            storing of user-defined (custom) message flags.</para>
            </remarks>
            <value>The permanent flags.</value>
        </member>
        <member name="P:MailKit.IMailFolder.AcceptedFlags">
            <summary>
            Get the accepted flags.
            </summary>
            <remarks>
            The accepted flags are the message flags that will be accepted and persist
            for the current session. For the set of flags that will persist between
            sessions, see the <see cref="P:MailKit.IMailFolder.PermanentFlags"/> property.
            </remarks>
            <value>The accepted flags.</value>
        </member>
        <member name="P:MailKit.IMailFolder.DirectorySeparator">
            <summary>
            Get the directory separator.
            </summary>
            <remarks>
            Gets the directory separator.
            </remarks>
            <value>The directory separator.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Access">
            <summary>
            Get the read/write access of the folder.
            </summary>
            <remarks>
            Gets the read/write access of the folder.
            </remarks>
            <value>The read/write access.</value>
        </member>
        <member name="P:MailKit.IMailFolder.IsNamespace">
            <summary>
            Get whether or not the folder is a namespace folder.
            </summary>
            <remarks>
            Gets whether or not the folder is a namespace folder.
            </remarks>
            <value><c>true</c> if the folder is a namespace folder; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailFolder.FullName">
            <summary>
            Get the full name of the folder.
            </summary>
            <remarks>
            This is the equivalent of the full path of a file on a file system.
            </remarks>
            <value>The full name of the folder.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Name">
            <summary>
            Get the name of the folder.
            </summary>
            <remarks>
            This is the equivalent of the file name of a file on the file system.
            </remarks>
            <value>The name of the folder.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Id">
            <summary>
            Get the unique identifier for the folder, if available.
            </summary>
            <remarks>
            <para>Gets a unique identifier for the folder, if available. This is useful for clients
            implementing a message cache that want to track the folder after it is renamed by another
            client.</para>
            <note type="note">This property will only be available if the server supports the
            <a href="https://tools.ietf.org/html/rfc8474">OBJECTID</a> extension.</note>
            </remarks>
            <value>The unique folder identifier.</value>
        </member>
        <member name="P:MailKit.IMailFolder.IsSubscribed">
            <summary>
            Get whether or not the folder is subscribed.
            </summary>
            <remarks>
            Gets whether or not the folder is subscribed.
            </remarks>
            <value><c>true</c> if the folder is subscribed; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailFolder.IsOpen">
            <summary>
            Get whether or not the folder is currently open.
            </summary>
            <remarks>
            Gets whether or not the folder is currently open.
            </remarks>
            <value><c>true</c> if the folder is currently open; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Exists">
            <summary>
            Get whether or not the folder exists.
            </summary>
            <remarks>
            Gets whether or not the folder exists.
            </remarks>
            <value><c>true</c> if the folder exists; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailFolder.SupportsModSeq">
            <summary>
            Get whether or not the folder supports mod-sequences.
            </summary>
            <remarks>
            If mod-sequences are not supported by the folder, then all of the APIs that take a modseq
            argument will throw <see cref="T:System.NotSupportedException"/> and should not be used.
            </remarks>
            <value><c>true</c> if supports mod-sequences; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailFolder.HighestModSeq">
            <summary>
            Get the highest mod-sequence value of all messages in the mailbox.
            </summary>
            <remarks>
            Gets the highest mod-sequence value of all messages in the mailbox.
            </remarks>
            <value>The highest mod-sequence value.</value>
        </member>
        <member name="P:MailKit.IMailFolder.UidValidity">
            <summary>
            Get the Unique ID validity.
            </summary>
            <remarks>
            <para>UIDs are only valid so long as the UID validity value remains unchanged. If and when
            the folder's <see cref="P:MailKit.IMailFolder.UidValidity"/> is changed, a client MUST discard its cache of UIDs
            along with any summary information that it may have and re-query the folder.</para>
            <para>The <see cref="P:MailKit.IMailFolder.UidValidity"/> will only be set after the folder has been opened.</para>
            </remarks>
            <value>The UID validity.</value>
        </member>
        <member name="P:MailKit.IMailFolder.UidNext">
            <summary>
            Get the UID that the next message that is added to the folder will be assigned.
            </summary>
            <remarks>
            This value will only be set after the folder has been opened.
            </remarks>
            <value>The next UID.</value>
        </member>
        <member name="P:MailKit.IMailFolder.AppendLimit">
            <summary>
            Get the maximum size of a message that can be appended to the folder.
            </summary>
            <remarks>
            <para>Gets the maximum size of a message that can be appended to the folder.</para>
            <note type="note">If the value is not set, then the limit is unspecified.</note>
            </remarks>
            <value>The append limit.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Size">
            <summary>
            Get the size of the folder.
            </summary>
            <remarks>
            <para>Gets the size of the folder in bytes.</para>
            <note type="note">If the value is not set, then the size is unspecified.</note>
            </remarks>
            <value>The size.</value>
        </member>
        <member name="P:MailKit.IMailFolder.FirstUnread">
            <summary>
            Get the index of the first unread message in the folder.
            </summary>
            <remarks>
            This value will only be set after the folder has been opened.
            </remarks>
            <value>The index of the first unread message.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Unread">
            <summary>
            Get the number of unread messages in the folder.
            </summary>
            <remarks>
            <para>Gets the number of unread messages in the folder.</para>
            <note type="note">This value will only be set after calling
            <see cref="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            with <see cref="F:MailKit.StatusItems.Unread"/>.</note>
            </remarks>
            <value>The number of unread messages.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Recent">
            <summary>
            Get the number of recently delivered messages in the folder.
            </summary>
            <remarks>
            <para>Gets the number of recently delivered messages in the folder.</para>
            <note type="note">
            This value will only be set after calling
            <see cref="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            with <see cref="F:MailKit.StatusItems.Recent"/>.</note>
            </remarks>
            <value>The number of recently delivered messages.</value>
        </member>
        <member name="P:MailKit.IMailFolder.Count">
            <summary>
            Get the total number of messages in the folder.
            </summary>
            <remarks>
            Gets the total number of messages in the folder.
            </remarks>
            <value>The total number of messages.</value>
        </member>
        <member name="M:MailKit.IMailFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Opens the folder using the requested folder access.
            </summary>
            <remarks>
            <para>This variant of the <see cref="M:MailKit.IMailFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)"/>
            method is meant for quick resynchronization of the folder. Before calling this method,
            the <see cref="M:MailKit.IMailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method MUST be called.</para>
            <para>You should also make sure to add listeners to the <see cref="E:MailKit.IMailFolder.MessagesVanished"/> and
            <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events to get notifications of changes since
            the last time the folder was opened.</para>
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="uidValidity">The last known <see cref="P:MailKit.IMailFolder.UidValidity"/> value.</param>
            <param name="highestModSeq">The last known <see cref="P:MailKit.IMailFolder.HighestModSeq"/> value.</param>
            <param name="uids">The last known list of unique message identifiers.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.OpenAsync(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously opens the folder using the requested folder access.
            </summary>
            <remarks>
            <para>This variant of the <see cref="M:MailKit.IMailFolder.OpenAsync(MailKit.FolderAccess,System.Threading.CancellationToken)"/>
            method is meant for quick resynchronization of the folder. Before calling this method,
            the <see cref="M:MailKit.IMailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method MUST be called.</para>
            <para>You should also make sure to add listeners to the <see cref="E:MailKit.IMailFolder.MessagesVanished"/> and
            <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events to get notifications of changes since
            the last time the folder was opened.</para>
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="uidValidity">The last known <see cref="P:MailKit.IMailFolder.UidValidity"/> value.</param>
            <param name="highestModSeq">The last known <see cref="P:MailKit.IMailFolder.HighestModSeq"/> value.</param>
            <param name="uids">The last known list of unique message identifiers.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)">
            <summary>
            Open the folder using the requested folder access.
            </summary>
            <remarks>
            Opens the folder using the requested folder access.
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.OpenAsync(MailKit.FolderAccess,System.Threading.CancellationToken)">
            <summary>
            Asynchronously open the folder using the requested folder access.
            </summary>
            <remarks>
            Asynchronously opens the folder using the requested folder access.
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Close(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Close the folder, optionally expunging the messages marked for deletion.
            </summary>
            <remarks>
            Closes the folder, optionally expunging the messages marked for deletion.
            </remarks>
            <param name="expunge">If set to <c>true</c>, expunge.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CloseAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously close the folder, optionally expunging the messages marked for deletion.
            </summary>
            <remarks>
            Asynchronously closes the folder, optionally expunging the messages marked for deletion.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="expunge">If set to <c>true</c>, expunge.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Create(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="isMessageFolder"><c>true</c> if the folder will be used to contain messages; otherwise <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CreateAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new subfolder with the given name.
            </summary>
            <remarks>
            Asynchronously creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="isMessageFolder"><c>true</c> if the folder will be used to contain messages; otherwise <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Create(System.String,System.Collections.Generic.IEnumerable{MailKit.SpecialFolder},System.Threading.CancellationToken)">
            <summary>
            Create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUses">A list of special uses for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CreateAsync(System.String,System.Collections.Generic.IEnumerable{MailKit.SpecialFolder},System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new subfolder with the given name.
            </summary>
            <remarks>
            Asynchronously creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUses">A list of special uses for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Create(System.String,MailKit.SpecialFolder,System.Threading.CancellationToken)">
            <summary>
            Create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUse">The special use for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CreateAsync(System.String,MailKit.SpecialFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new subfolder with the given name.
            </summary>
            <remarks>
            Asynchronously creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUse">The special use for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Rename(MailKit.IMailFolder,System.String,System.Threading.CancellationToken)">
            <summary>
            Rename the folder.
            </summary>
            <remarks>
            Renames the folder.
            </remarks>
            <param name="parent">The new parent folder.</param>
            <param name="name">The new name of the folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RenameAsync(MailKit.IMailFolder,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously rename the folder.
            </summary>
            <remarks>
            Asynchronously renames the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="parent">The new parent folder.</param>
            <param name="name">The new name of the folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Delete(System.Threading.CancellationToken)">
            <summary>
            Delete the folder.
            </summary>
            <remarks>
            Deletes the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.DeleteAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously delete the folder.
            </summary>
            <remarks>
            Asynchronously deletes the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Subscribe(System.Threading.CancellationToken)">
            <summary>
            Subscribe to the folder.
            </summary>
            <remarks>
            Subscribes to the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SubscribeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously subscribe to the folder.
            </summary>
            <remarks>
            Asynchronously subscribes to the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Unsubscribe(System.Threading.CancellationToken)">
            <summary>
            Unsubscribe from the folder.
            </summary>
            <remarks>
            Unsubscribes from the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.UnsubscribeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously unsubscribe from the folder.
            </summary>
            <remarks>
            Asynchronously unsubscribes from the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetSubfolders(MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get the subfolders.
            </summary>
            <remarks>
            <para>Gets the subfolders as well as queries the server for the status of the requested items.</para>
            <para>When the <paramref name="items"/> argument is non-empty, this has the equivalent functionality
            of calling <see cref="M:MailKit.IMailFolder.GetSubfolders(System.Boolean,System.Threading.CancellationToken)"/> and then calling
            <see cref="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/> on each of the returned folders.</para>
            <note type="tip">Using this method is potentially more efficient than querying the status of each returned folder.</note>
            </remarks>
            <returns>The subfolders.</returns>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetSubfoldersAsync(MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the subfolders.
            </summary>
            <remarks>
            <para>Asynchronously gets the subfolders as well as queries the server for the status of the requested items.</para>
            <para>When the <paramref name="items"/> argument is non-empty, this has the equivalent functionality
            of calling <see cref="M:MailKit.IMailFolder.GetSubfoldersAsync(System.Boolean,System.Threading.CancellationToken)"/> and then calling
            <see cref="M:MailKit.IMailFolder.StatusAsync(MailKit.StatusItems,System.Threading.CancellationToken)"/> on each of the returned folders.</para>
            </remarks>
            <returns>The subfolders.</returns>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetSubfolders(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get the subfolders.
            </summary>
            <remarks>
            Gets the subfolders.
            </remarks>
            <returns>The subfolders.</returns>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetSubfoldersAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the subfolders.
            </summary>
            <remarks>
            Asynchronously gets the subfolders.
            </remarks>
            <returns>The subfolders.</returns>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetSubfolder(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the specified subfolder.
            </summary>
            <remarks>
            Gets the specified subfolder.
            </remarks>
            <returns>The subfolder.</returns>
            <param name="name">The name of the subfolder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetSubfolderAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the specified subfolder.
            </summary>
            <remarks>
            Asynchronously gets the specified subfolder.
            </remarks>
            <returns>The subfolder.</returns>
            <param name="name">The name of the subfolder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Check(System.Threading.CancellationToken)">
            <summary>
            Force the server to flush its state for the folder.
            </summary>
            <remarks>
            Forces the server to flush its state for the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CheckAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously force the server to flush its state for the folder.
            </summary>
            <remarks>
            Asynchronously forces the server to flush its state for the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)">
            <summary>
            Update the values of the specified items.
            </summary>
            <remarks>
            <para>Updates the values of the specified items.</para>
            <para>The <see cref="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/> method
            MUST NOT be used on a folder that is already in the opened state. Instead, other ways
            of getting the desired information should be used.</para>
            <para>For example, a common use for the <see cref="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            method is to get the number of unread messages in the folder. When the folder is open, however, it is
            possible to use the <see cref="M:MailKit.IMailFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)"/>
            method to query for the list of unread messages.</para>
            </remarks>
            <param name="items">The items to update.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.StatusAsync(MailKit.StatusItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously update the values of the specified items.
            </summary>
            <remarks>
            <para>Updates the values of the specified items.</para>
            <para>The <see cref="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/> method
            MUST NOT be used on a folder that is already in the opened state. Instead, other ways
            of getting the desired information should be used.</para>
            <para>For example, a common use for the <see cref="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            method is to get the number of unread messages in the folder. When the folder is open, however, it is
            possible to use the <see cref="M:MailKit.IMailFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)"/>
            method to query for the list of unread messages.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="items">The items to update.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetAccessControlList(System.Threading.CancellationToken)">
            <summary>
            Get the complete access control list for the folder.
            </summary>
            <remarks>
            Gets the complete access control list for the folder.
            </remarks>
            <returns>The access control list.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetAccessControlListAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the complete access control list for the folder.
            </summary>
            <remarks>
            Asynchronously gets the complete access control list for the folder.
            </remarks>
            <returns>The access control list.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetAccessRights(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the access rights for a particular identifier.
            </summary>
            <remarks>
            Gets the access rights for a particular identifier.
            </remarks>
            <returns>The access rights.</returns>
            <param name="name">The identifier name.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetAccessRightsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the access rights for a particular identifier.
            </summary>
            <remarks>
            Asynchronously gets the access rights for a particular identifier.
            </remarks>
            <returns>The access rights.</returns>
            <param name="name">The identifier name.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMyAccessRights(System.Threading.CancellationToken)">
            <summary>
            Get the access rights for the current authenticated user.
            </summary>
            <remarks>
            Gets the access rights for the current authenticated user.
            </remarks>
            <returns>The access rights.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMyAccessRightsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the access rights for the current authenticated user.
            </summary>
            <remarks>
            Asynchronously gets the access rights for the current authenticated user.
            </remarks>
            <returns>The access rights.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Add access rights for the specified identity.
            </summary>
            <remarks>
            Adds the given access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add access rights for the specified identity.
            </summary>
            <remarks>
            Asynchronously adds the given access rights for the specified identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Remove access rights for the specified identity.
            </summary>
            <remarks>
            Removes the given access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove access rights for the specified identity.
            </summary>
            <remarks>
            Asynchronously removes the given access rights for the specified identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Set the access rights for the specified identity.
            </summary>
            <remarks>
            Sets the access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the access rights for the sepcified identity.
            </summary>
            <remarks>
            Asynchronously sets the access rights for the specified identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveAccess(System.String,System.Threading.CancellationToken)">
            <summary>
            Remove all access rights for the given identity.
            </summary>
            <remarks>
            Removes all access rights for the given identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveAccessAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove all access rights for the given identity.
            </summary>
            <remarks>
            Asynchronously removes all access rights for the given identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetQuota(System.Threading.CancellationToken)">
            <summary>
            Get the quota information for the folder.
            </summary>
            <remarks>
            <para>Gets the quota information for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.IMailStore.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The folder quota.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetQuotaAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the quota information for the folder.
            </summary>
            <remarks>
            <para>Asynchronously gets the quota information for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.IMailStore.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The folder quota.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetQuota(System.Nullable{System.UInt32},System.Nullable{System.UInt32},System.Threading.CancellationToken)">
            <summary>
            Set the quota limits for the folder.
            </summary>
            <remarks>
            <para>Sets the quota limits for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.IMailStore.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The updated folder quota.</returns>
            <param name="messageLimit">If not <c>null</c>, sets the maximum number of messages to allow.</param>
            <param name="storageLimit">If not <c>null</c>, sets the maximum storage size (in kilobytes).</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetQuotaAsync(System.Nullable{System.UInt32},System.Nullable{System.UInt32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the quota limits for the folder.
            </summary>
            <remarks>
            <para>Asynchronously sets the quota limits for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.IMailStore.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The updated folder quota.</returns>
            <param name="messageLimit">If not <c>null</c>, sets the maximum number of messages to allow.</param>
            <param name="storageLimit">If not <c>null</c>, sets the maximum storage size (in kilobytes).</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMetadata(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMetadataAsync(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMetadata(System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMetadataAsync(System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMetadata(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMetadataAsync(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetMetadata(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Sets the specified metadata.
            </summary>
            <remarks>
            Sets the specified metadata.
            </remarks>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetMetadataAsync(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the specified metadata.
            </summary>
            <remarks>
            Asynchronously sets the specified metadata.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Expunge(System.Threading.CancellationToken)">
            <summary>
            Expunge the folder, permanently removing all messages marked for deletion.
            </summary>
            <remarks>
            <para>Expunges the folder, permanently removing all messages marked for deletion.</para>
            <note type="note">Normally, an <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event will be emitted for each
            message that is expunged. However, if the mail store supports the quick
            resynchronization feature and it has been enabled via the
            <see cref="M:MailKit.IMailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method, then
            the <see cref="E:MailKit.IMailFolder.MessagesVanished"/> event will be emitted rather than the
            <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.ExpungeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously expunge the folder, permanently removing all messages marked for deletion.
            </summary>
            <remarks>
            <para>Asynchronously expunges the folder, permanently removing all messages marked for deletion.</para>
            <note type="note">Normally, an <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event will be emitted for
            each message that is expunged. However, if the mail store supports the quick
            resynchronization feature and it has been enabled via the
            <see cref="M:MailKit.IMailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method, then
            the <see cref="E:MailKit.IMailFolder.MessagesVanished"/> event will be emitted rather than the
            <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Expunge(System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Expunge the specified uids, permanently removing them from the folder.
            </summary>
            <remarks>
            <para>Expunges the specified uids, permanently removing them from the folder.</para>
            <note type="note">Normally, an <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event will be emitted for
            each message that is expunged. However, if the mail store supports the quick
            resynchronization feature and it has been enabled via the
            <see cref="M:MailKit.IMailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method, then
            the <see cref="E:MailKit.IMailFolder.MessagesVanished"/> event will be emitted rather than the
            <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <param name="uids">The message uids.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.ExpungeAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously expunge the specified uids, permanently removing them from the folder.
            </summary>
            <remarks>
            <para>Asynchronously expunges the specified uids, permanently removing them from the folder.</para>
            <note type="note">Normally, an <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event will be emitted for
            each message that is expunged. However, if the mail store supports the quick
            resynchronization feature and it has been enabled via the
            <see cref="M:MailKit.IMailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method, then
            the <see cref="E:MailKit.IMailFolder.MessagesVanished"/> event will be emitted rather than the
            <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The message uids.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Append(MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AppendAsync(MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Append(MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AppendAsync(MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Append(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AppendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Append(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AppendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Append(System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AppendAsync(System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Append(System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AppendAsync(System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Append(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AppendAsync(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Append(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AppendAsync(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The list of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CopyTo(MailKit.UniqueId,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified message to the destination folder.
            </summary>
            <remarks>
            Copies the specified message to the destination folder.
            </remarks>
            <returns>The UID of the message in the destination folder, if available; otherwise, <c>null</c>.</returns>
            <param name="uid">The UID of the message to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CopyToAsync(MailKit.UniqueId,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified message to the destination folder.
            </summary>
            <remarks>
            Asynchronously copies the specified message to the destination folder.
            </remarks>
            <returns>The UID of the message in the destination folder, if available; otherwise, <c>null</c>.</returns>
            <param name="uid">The UID of the message to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CopyTo(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Copies the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CopyToAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Asynchronously copies the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.MoveTo(MailKit.UniqueId,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified message to the destination folder.
            </summary>
            <remarks>
            Moves the specified message to the destination folder.
            </remarks>
            <returns>The UID of the message in the destination folder, if available; otherwise, <c>null</c>.</returns>
            <param name="uid">The UID of the message to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.MoveToAsync(MailKit.UniqueId,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified message to the destination folder.
            </summary>
            <remarks>
            Asynchronously moves the specified message to the destination folder.
            </remarks>
            <returns>The UID of the message in the destination folder, if available; otherwise, <c>null</c>.</returns>
            <param name="uid">The UID of the message to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.MoveTo(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified messages to the destination folder.
            </summary>
            <remarks>
            Moves the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.MoveToAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified messages to the destination folder.
            </summary>
            <remarks>
            Asynchronously moves the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CopyTo(System.Int32,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified message to the destination folder.
            </summary>
            <remarks>
            Copies the specified message to the destination folder.
            </remarks>
            <param name="index">The index of the message to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CopyToAsync(System.Int32,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified message to the destination folder.
            </summary>
            <remarks>
            Asynchronously copies the specified message to the destination folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The indexes of the message to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CopyTo(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Copies the specified messages to the destination folder.
            </remarks>
            <param name="indexes">The indexes of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.CopyToAsync(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Asynchronously copies the specified messages to the destination folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.MoveTo(System.Int32,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified message to the destination folder.
            </summary>
            <remarks>
            Moves the specified message to the destination folder.
            </remarks>
            <param name="index">The index of the message to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.MoveToAsync(System.Int32,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified message to the destination folder.
            </summary>
            <remarks>
            Asynchronously moves the specified message to the destination folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.MoveTo(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified messages to the destination folder.
            </summary>
            <remarks>
            Moves the specified messages to the destination folder.
            </remarks>
            <param name="indexes">The indexes of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.MoveToAsync(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified messages to the destination folder.
            </summary>
            <remarks>
            Asynchronously moves the specified messages to the destination folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.IMailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.IMailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.IMailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.IMailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.IMailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.IMailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes that have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes that have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes that have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes
            (inclusive) that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes (inclusive) that have a higher mod-sequence value than the
            one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes
            (inclusive) that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes (inclusive) that have a higher mod-sequence value than the
            one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes
            (inclusive) that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes (inclusive) that have a higher mod-sequence value than the
            one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetHeaders(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message headers.
            </summary>
            <remarks>
            Gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetHeadersAsync(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message headers.
            </summary>
            <remarks>
            Asynchronously gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetHeaders(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetHeadersAsync(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part headers.
            </summary>
            <remarks>
            Asynchronously gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetHeaders(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message headers.
            </summary>
            <remarks>
            Gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetHeadersAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message headers.
            </summary>
            <remarks>
            Asynchronously gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetHeaders(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetHeadersAsync(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part headers.
            </summary>
            <remarks>
            Asynchronously gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message.
            </summary>
            <remarks>
            Gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMessageAsync(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message.
            </summary>
            <remarks>
            Asynchronously gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message.
            </summary>
            <remarks>
            Gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetMessageAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message.
            </summary>
            <remarks>
            Asynchronously gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetBodyPart(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <returns>The body part.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetBodyPartAsync(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part.
            </summary>
            <remarks>
            Asynchronously gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetBodyPart(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetBodyPartAsync(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part.
            </summary>
            <remarks>
            Asynchronously gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStream(MailKit.UniqueId,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            Gets a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStreamAsync(MailKit.UniqueId,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            Asynchronously gets a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStream(System.Int32,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            Gets a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStreamAsync(System.Int32,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            Asynchronously gets a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStream(MailKit.UniqueId,MailKit.BodyPart,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified body part.
            </summary>
            <remarks>
            Gets a substream of the body part. If the starting offset is beyond
            the end of the body part, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the body part, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The desired body part.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStreamAsync(MailKit.UniqueId,MailKit.BodyPart,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified body part.
            </summary>
            <remarks>
            Asynchronously gets a substream of the body part. If the starting offset is beyond
            the end of the body part, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the body part, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The desired body part.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStream(System.Int32,MailKit.BodyPart,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified body part.
            </summary>
            <remarks>
            Gets a substream of the body part. If the starting offset is beyond
            the end of the body part, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the body part, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The desired body part.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStreamAsync(System.Int32,MailKit.BodyPart,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified body part.
            </summary>
            <remarks>
            Asynchronously gets a substream of the body part. If the starting offset is beyond
            the end of the body part, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the body part, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The desired body part.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStream(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStreamAsync(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            <para>Asynchronously gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStream(MailKit.UniqueId,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message. If the starting offset is beyond
            the end of the specified section of the message, an empty stream is returned. If
            the number of bytes desired extends beyond the end of the section, a truncated
            stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStreamAsync(MailKit.UniqueId,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            <para>Asynchronously gets a substream of the specified message. If the starting
            offset is beyond the end of the specified section of the message, an empty stream
            is returned. If the number of bytes desired extends beyond the end of the section,
            a truncated stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStream(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStreamAsync(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            <para>Asynchronously gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStream(System.Int32,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message. If the starting offset is beyond
            the end of the specified section of the message, an empty stream is returned. If
            the number of bytes desired extends beyond the end of the section, a truncated
            stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.GetStreamAsync(System.Int32,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            <para>Asynchronously gets a substream of the specified message. If the starting
            offset is beyond the end of the specified section of the message, an empty stream
            is returned. If the number of bytes desired extends beyond the end of the section,
            a truncated stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified message.
            </summary>
            <remarks>
            Adds a set of flags to the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UIDs of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified message.
            </summary>
            <remarks>
            Adds a set of flags to the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UIDs of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified message.
            </summary>
            <remarks>
            Removes a set of flags from the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified message.
            </summary>
            <remarks>
            Removes a set of flags from the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified message.
            </summary>
            <remarks>
            Sets the flags of the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified message.
            </summary>
            <remarks>
            Sets the flags of the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified message.
            </summary>
            <remarks>
            Adds a set of flags to the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified message.
            </summary>
            <remarks>
            Adds a set of flags to the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified message.
            </summary>
            <remarks>
            Removes a set of flags from the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified message.
            </summary>
            <remarks>
            Removes a set of flags from the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified message.
            </summary>
            <remarks>
            Sets the flags of the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified message.
            </summary>
            <remarks>
            Sets the flags of the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabels(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified message.
            </summary>
            <remarks>
            Adds a set of labels to the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabelsAsync(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UIDs of the message.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabels(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified message.
            </summary>
            <remarks>
            Removes a set of labels from the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabelsAsync(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabels(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified message.
            </summary>
            <remarks>
            Sets the labels of the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabelsAsync(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages.
            </summary>
            <remarks>
            Sets the labels of the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabels(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified message.
            </summary>
            <remarks>
            Adds a set of labels to the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabelsAsync(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabels(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified message.
            </summary>
            <remarks>
            Removes a set of labels from the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabelsAsync(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabels(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified message.
            </summary>
            <remarks>
            Sets the labels of the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabelsAsync(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages.
            </summary>
            <remarks>
            Sets the labels of the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.AddLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.RemoveLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SetLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SearchAsync(MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Search(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the subset of UIDs in the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SearchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the subset of UIDs in the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Search(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the folder for messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SearchAsync(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the folder for messages matching the specified query.
            </summary>
            <remarks>
            Asynchronously searches the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Search(MailKit.Search.SearchOptions,System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the subset of UIDs in the folder for messages matching the specified query.
            </summary>
            <remarks>
            Searches the fsubset of UIDs in the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SearchAsync(MailKit.Search.SearchOptions,System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the subset of UIDs in the folder for messages matching the specified query.
            </summary>
            <remarks>
            Asynchronously searches the fsubset of UIDs in the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Sort(MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SortAsync(MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Sort(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SortAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Sort(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query, returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SortAsync(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            Asynchronously searches the folder for messages matching the specified query, returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Sort(MailKit.Search.SearchOptions,System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query, returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.SortAsync(MailKit.Search.SearchOptions,System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            Asynchronously searches the folder for messages matching the specified query,
            returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Thread(MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.ThreadAsync(MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.Thread(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailFolder.ThreadAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="E:MailKit.IMailFolder.Opened">
            <summary>
            Occurs when the folder is opened.
            </summary>
            <remarks>
            Emitted when the folder is opened.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.Closed">
            <summary>
            Occurs when the folder is closed.
            </summary>
            <remarks>
            Emitted when the folder is closed.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.Deleted">
            <summary>
            Occurs when the folder is deleted.
            </summary>
            <remarks>
            Emitted when the folder is deleted.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.Renamed">
            <summary>
            Occurs when the folder is renamed.
            </summary>
            <remarks>
            Emitted when the folder is renamed.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.Subscribed">
            <summary>
            Occurs when the folder is subscribed.
            </summary>
            <remarks>
            Emitted when the folder is subscribed.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.Unsubscribed">
            <summary>
            Occurs when the folder is unsubscribed.
            </summary>
            <remarks>
            Emitted when the folder is unsubscribed.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.MessageExpunged">
            <summary>
            Occurs when a message is expunged from the folder.
            </summary>
            <remarks>
            Emitted when a message is expunged from the folder.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.MessagesVanished">
            <summary>
            Occurs when messages vanish from the folder.
            </summary>
            <remarks>
            Emitted when a messages vanish from the folder.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.MessageFlagsChanged">
            <summary>
            Occurs when flags changed on a message.
            </summary>
            <remarks>
            Emitted when flags changed on a message.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.MessageLabelsChanged">
            <summary>
            Occurs when labels changed on a message.
            </summary>
            <remarks>
            Emitted when labels changed on a message.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.MessageSummaryFetched">
            <summary>
            Occurs when a message summary is fetched from the folder.
            </summary>
            <remarks>
            <para>Emitted when a message summary is fetched from the folder.</para>
            <para>When multiple message summaries are being fetched from a remote folder,
            it is possible that the connection will drop or some other exception will
            occur, causing the Fetch method to fail, requiring the client to request the
            same set of message summaries again after it reconnects. This is obviously
            inefficient. To alleviate this potential problem, this event will be emitted
            as soon as the <see cref="T:MailKit.IMailFolder"/> successfully retrieves the complete
            <see cref="T:MailKit.IMessageSummary"/> for each requested message.</para>
            <note type="note">The <a href="Overload_MailKit_IMailFolder_Fetch.htm">Fetch</a>
            methods will return a list of all message summaries that any information was
            retrieved for, regardless of whether or not all of the requested items were fetched,
            therefore there may be a discrepency between the number of times this event is
            emitetd and the number of summary items returned from the Fetch method.</note>
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.MetadataChanged">
            <summary>
            Occurs when metadata changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.IMailFolder.MetadataChanged"/> event is emitted when metadata changes.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.ModSeqChanged">
            <summary>
            Occurs when the mod-sequence changed on a message.
            </summary>
            <remarks>
            Emitted when the mod-sequence changed on a message.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.HighestModSeqChanged">
            <summary>
            Occurs when the highest mod-sequence changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.IMailFolder.HighestModSeqChanged"/> event is emitted whenever the <see cref="P:MailKit.IMailFolder.HighestModSeq"/> value changes.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.UidNextChanged">
            <summary>
            Occurs when the next UID changes.
            </summary>
            <remarks>
            Emitted when the <see cref="P:MailKit.IMailFolder.UidNext"/> property changes.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.UidValidityChanged">
            <summary>
            Occurs when the UID validity changes.
            </summary>
            <remarks>
            Emitted when the <see cref="P:MailKit.IMailFolder.UidValidity"/> property changes.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.IdChanged">
            <summary>
            Occurs when the ID changes.
            </summary>
            <remarks>
            Emitted when the <see cref="P:MailKit.IMailFolder.Id"/> property changes.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.SizeChanged">
            <summary>
            Occurs when the size of the folder changes.
            </summary>
            <remarks>
            Emitted when the <see cref="P:MailKit.IMailFolder.Size"/> property changes.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.CountChanged">
            <summary>
            Occurs when the message count changes.
            </summary>
            <remarks>
            Emitted when the <see cref="P:MailKit.IMailFolder.Count"/> property changes.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.RecentChanged">
            <summary>
            Occurs when the recent message count changes.
            </summary>
            <remarks>
            Emitted when the <see cref="P:MailKit.IMailFolder.Recent"/> property changes.
            </remarks>
        </member>
        <member name="E:MailKit.IMailFolder.UnreadChanged">
            <summary>
            Occurs when the message unread count changes.
            </summary>
            <remarks>
            Emitted when the <see cref="P:MailKit.IMailFolder.Unread"/> property changes.
            </remarks>
        </member>
        <member name="T:MailKit.IMailService">
            <summary>
            An interface for message services such as SMTP, POP3, or IMAP.
            </summary>
            <remarks>
            Implemented by <see cref="T:MailKit.Net.Smtp.SmtpClient"/>
            and <see cref="T:MailKit.Net.Pop3.Pop3Client"/>.
            </remarks>
        </member>
        <member name="P:MailKit.IMailService.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the folder.
            </summary>
            <remarks>
            Gets an object that can be used to synchronize access to the folder.
            </remarks>
            <value>The sync root.</value>
        </member>
        <member name="P:MailKit.IMailService.SslProtocols">
            <summary>
            Gets or sets the SSL and TLS protocol versions that the client is allowed to use.
            </summary>
            <remarks>
            <para>Gets or sets the SSL and TLS protocol versions that the client is allowed to use.</para>
            <para>By default, MailKit initializes this value to support only TLS v1.0 and greater and
            does not support any version of SSL due to those protocols no longer being considered
            secure.</para>
            <para>This property should be set before calling any of the
            <a href="Overload_MailKit_IMailService_Connect.htm">Connect</a> methods.</para>
            </remarks>
            <value>The SSL and TLS protocol versions that are supported.</value>
        </member>
        <member name="P:MailKit.IMailService.ClientCertificates">
            <summary>
            Get or set the client SSL certificates.
            </summary>
            <remarks>
            <para>Some servers may require the client SSL certificates in order
            to allow the user to connect.</para>
            <para>This property should be set before calling any of the
            <a href="Overload_MailKit_IMailService_Connect.htm">Connect</a> methods.</para>
            </remarks>
            <value>The client SSL certificates.</value>
        </member>
        <member name="P:MailKit.IMailService.CheckCertificateRevocation">
            <summary>
            Get or set whether connecting via SSL/TLS should check certificate revocation.
            </summary>
            <remarks>
            Gets or sets whether connecting via SSL/TLS should check certificate revocation.
            </remarks>
            <value><c>true</c> if certificate revocation should be checked; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailService.ServerCertificateValidationCallback">
            <summary>
            Get or sets a callback function to validate the server certificate.
            </summary>
            <remarks>
            <para>Gets or sets a callback function to validate the server certificate.</para>
            <para>This property should be set before calling any of the
            <a href="Overload_MailKit_IMailService_Connect.htm">Connect</a> methods.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\InvalidSslCertificate.cs" region="Simple"/>
            </example>
            <value>The server certificate validation callback function.</value>
        </member>
        <member name="P:MailKit.IMailService.LocalEndPoint">
            <summary>
            Get or set the local IP end point to use when connecting to a remote host.
            </summary>
            <remarks>
            Gets or sets the local IP end point to use when connecting to a remote host.
            </remarks>
            <value>The local IP end point or <c>null</c> to use the default end point.</value>
        </member>
        <member name="P:MailKit.IMailService.ProxyClient">
            <summary>
            Get or set the proxy client to use when connecting to a remote host.
            </summary>
            <remarks>
            Gets or sets the proxy client to use when connecting to a remote host via any of the
            <a href="Overload_MailKit_IMailService_Connect.htm">Connect</a> methods.
            </remarks>
            <value>The proxy client.</value>
        </member>
        <member name="P:MailKit.IMailService.AuthenticationMechanisms">
            <summary>
            Get the authentication mechanisms supported by the message service.
            </summary>
            <remarks>
            The authentication mechanisms are queried durring the
            <a href="Overload_MailKit_IMailService_Connect.htm">Connect</a> method.
            </remarks>
            <value>The supported authentication mechanisms.</value>
        </member>
        <member name="P:MailKit.IMailService.IsAuthenticated">
            <summary>
            Get whether or not the client is currently authenticated with the mail server.
            </summary>
            <remarks>
            <para>Gets whether or not the client is currently authenticated with the mail server.</para>
            <para>To authenticate with the mail server, use one of the
            <a href="Overload_MailKit_MailService_Authenticate.htm">Authenticate</a> methods
            or any of the Async alternatives.</para>
            </remarks>
            <value><c>true</c> if the client is authenticated; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailService.IsConnected">
            <summary>
            Get whether or not the service is currently connected.
            </summary>
            <remarks>
            <para>The <see cref="P:MailKit.IMailService.IsConnected"/> state is set to <c>true</c> immediately after
            one of the <a href="Overload_MailKit_IMailService_Connect.htm">Connect</a>
            methods succeeds and is not set back to <c>false</c> until either the client
            is disconnected via <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/> or until a
            <see cref="T:MailKit.ProtocolException"/> is thrown while attempting to read or write to
            the underlying network socket.</para>
            <para>When an <see cref="T:MailKit.ProtocolException"/> is caught, the connection state of the
            <see cref="T:MailKit.IMailService"/> should be checked before continuing.</para>
            </remarks>
            <value><c>true</c> if the service connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailService.IsSecure">
            <summary>
            Get whether or not the connection is secure (typically via SSL or TLS).
            </summary>
            <remarks>
            Gets whether or not the connection is secure (typically via SSL or TLS).
            </remarks>
            <value><c>true</c> if the connection is secure; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailService.Timeout">
            <summary>
            Get or set the timeout for network streaming operations, in milliseconds.
            </summary>
            <remarks>
            Gets or sets the underlying socket stream's <see cref="P:System.IO.Stream.ReadTimeout"/>
            and <see cref="P:System.IO.Stream.WriteTimeout"/> values.
            </remarks>
            <value>The timeout in milliseconds.</value>
        </member>
        <member name="M:MailKit.IMailService.Connect(System.String,System.Int32,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server.
            </summary>
            <remarks>
            <para>Establish a connection to the specified mail server.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="useSsl"><value>true</value> if the client should make an SSL-wrapped connection to the server; otherwise, <value>false</value>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.ConnectAsync(System.String,System.Int32,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server.
            </summary>
            <remarks>
            <para>Asynchronously establishes a connection to the specified mail server.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="useSsl"><value>true</value> if the client should make an SSL-wrapped connection to the server; otherwise, <value>false</value>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Connect(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server.
            </summary>
            <remarks>
            <para>Establish a connection to the specified mail server.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.ConnectAsync(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server.
            </summary>
            <remarks>
            <para>Asynchronously establishes a connection to the specified mail server.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Connect(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server using the provided socket.
            </summary>
            <remarks>
            <para>Establish a connection to the specified mail server using the provided socket.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.ConnectAsync(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server using the provided socket.
            </summary>
            <remarks>
            <para>Asynchronously establishes a connection to the specified mail server using the provided socket.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Connect(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server using the provided stream.
            </summary>
            <remarks>
            <para>Establish a connection to the specified mail server using the provided stream.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.ConnectAsync(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server using the provided stream.
            </summary>
            <remarks>
            <para>Asynchronously establishes a connection to the specified mail server using the provided stream.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Authenticate(System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>Authenticates using the supplied credentials.</para>
            <para>If the server supports one or more SASL authentication mechanisms, then
            the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.AuthenticateAsync(System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>Asynchronously authenticates using the supplied credentials.</para>
            <para>If the server supports one or more SASL authentication mechanisms, then
            the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Authenticate(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>Authenticates using the supplied credentials.</para>
            <para>If the server supports one or more SASL authentication mechanisms, then
            the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            </remarks>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.AuthenticateAsync(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>Asynchronously authenticates using the supplied credentials.</para>
            <para>If the server supports one or more SASL authentication mechanisms, then
            the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Authenticate(System.Text.Encoding,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified user name and password.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.AuthenticateAsync(System.Text.Encoding,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified user name and password.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Authenticate(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified user name and password.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.AuthenticateAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified user name and password.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Authenticate(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.AuthenticateAsync(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.IMailService.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Disconnect the service.
            </summary>
            <remarks>
            <para>Disconnects from the service.</para>
            <para>If <paramref name="quit"/> is <c>true</c>, a "QUIT" command will be issued in order to disconnect cleanly.</para>
            </remarks>
            <param name="quit">If set to <c>true</c>, a "QUIT" command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.DisconnectAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously disconnect the service.
            </summary>
            <remarks>
            <para>Asynchronously disconnects from the service.</para>
            <para>If <paramref name="quit"/> is <c>true</c>, a "QUIT" command will be issued in order to disconnect cleanly.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="quit">If set to <c>true</c>, a logout/quit command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.NoOp(System.Threading.CancellationToken)">
            <summary>
            Ping the message service to keep the connection alive.
            </summary>
            <remarks>
            Mail servers, if left idle for too long, will automatically drop the connection.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.IMailService.NoOpAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously ping the mail server to keep the connection alive.
            </summary>
            <remarks>
            Mail servers, if left idle for too long, will automatically drop the connection.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailService"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="E:MailKit.IMailService.Connected">
            <summary>
            Occurs when the client has been successfully connected.
            </summary>
            <remarks>
            The <see cref="E:MailKit.IMailService.Connected"/> event is raised when the client
            successfully connects to the mail server.
            </remarks>
        </member>
        <member name="E:MailKit.IMailService.Disconnected">
            <summary>
            Occurs when the client has been disconnected.
            </summary>
            <remarks>
            The <see cref="E:MailKit.IMailService.Disconnected"/> event is raised whenever the client
            has been disconnected.
            </remarks>
        </member>
        <member name="E:MailKit.IMailService.Authenticated">
            <summary>
            Occurs when the client has been successfully authenticated.
            </summary>
            <remarks>
            The <see cref="E:MailKit.IMailService.Authenticated"/> event is raised whenever the client
            has been authenticated.
            </remarks>
        </member>
        <member name="T:MailKit.IMailSpool">
            <summary>
            An interface for retreiving messages from a spool.
            </summary>
            <remarks>
            An interface for retreiving messages from a spool.
            </remarks>
        </member>
        <member name="P:MailKit.IMailSpool.Count">
            <summary>
            Get the number of messages available in the message spool.
            </summary>
            <remarks>
            <para>Gets the number of messages available in the message spool.</para>
            <para>Once authenticated, the <see cref="P:MailKit.IMailSpool.Count"/> property will be set
            to the number of available messages in the spool.</para>
            </remarks>
            <value>The message count.</value>
        </member>
        <member name="P:MailKit.IMailSpool.SupportsUids">
            <summary>
            Get whether or not the service supports referencing messages by UIDs.
            </summary>
            <remarks>
            <para>Not all servers support referencing messages by UID, so this property should
            be checked before using <see cref="M:MailKit.IMailSpool.GetMessageUid(System.Int32,System.Threading.CancellationToken)"/>
            and <see cref="M:MailKit.IMailSpool.GetMessageUids(System.Threading.CancellationToken)"/>.</para>
            <para>If the server does not support UIDs, then all methods that take UID arguments
            along with <see cref="M:MailKit.IMailSpool.GetMessageUid(System.Int32,System.Threading.CancellationToken)"/> and
            <see cref="M:MailKit.IMailSpool.GetMessageUids(System.Threading.CancellationToken)"/> will fail.</para>
            </remarks>
            <value><c>true</c> if supports uids; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageUid(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the UID of the message at the specified index.
            </summary>
            <remarks>
            Not all servers support UIDs, so you should first check
            the <see cref="P:MailKit.IMailSpool.SupportsUids"/> property.
            </remarks>
            <returns>The message UID.</returns>
            <param name="index">The message index.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageUidAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the UID of the message at the specified index.
            </summary>
            <remarks>
            Not all servers support UIDs, so you should first check
            the <see cref="P:MailKit.IMailSpool.SupportsUids"/> property.
            </remarks>
            <returns>The message UID.</returns>
            <param name="index">The message index.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageUids(System.Threading.CancellationToken)">
            <summary>
            Get the full list of available message UIDs.
            </summary>
            <remarks>
            Not all servers support UIDs, so you should first check
            the <see cref="P:MailKit.IMailSpool.SupportsUids"/> property.
            </remarks>
            <returns>The message UIDs.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageUidsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the full list of available message UIDs.
            </summary>
            <remarks>
            Not all servers support UIDs, so you should first check
            the <see cref="P:MailKit.IMailSpool.SupportsUids"/> property.
            </remarks>
            <returns>The message UIDs.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageSize(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the size of the specified message, in bytes.
            </summary>
            <remarks>
            Gets the size of the specified message, in bytes.
            </remarks>
            <returns>The message size, in bytes.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageSizeAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the size of the specified message, in bytes.
            </summary>
            <remarks>
            Asynchronously gets the size of the specified message, in bytes.
            </remarks>
            <returns>The message size, in bytes.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageSizes(System.Threading.CancellationToken)">
            <summary>
            Get the sizes for all available messages, in bytes.
            </summary>
            <remarks>
            Gets the sizes for all available messages, in bytes.
            </remarks>
            <returns>The message sizes, in bytes.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageSizesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the sizes for all available messages, in bytes.
            </summary>
            <remarks>
            Asynchronously gets the sizes for all available messages, in bytes.
            </remarks>
            <returns>The message sizes, in bytes.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageHeaders(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the headers for the specified message.
            </summary>
            <remarks>
            Gets the headers for the specified message.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageHeadersAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the headers for the specified message.
            </summary>
            <remarks>
            Asynchronously gets the headers for the specified message.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageHeaders(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Get the headers for the specified messages.
            </summary>
            <remarks>
            Gets the headers for the specified messages.
            </remarks>
            <returns>The headers for the specified messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageHeadersAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the headers for the specified messages.
            </summary>
            <remarks>
            Asynchronously gets the headers for the specified messages.
            </remarks>
            <returns>The headers for the specified messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageHeaders(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the headers of the messages within the specified range.
            </summary>
            <remarks>
            Gets the headers of the messages within the specified range.
            </remarks>
            <returns>The headers of the messages within the specified range.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageHeadersAsync(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the headers of the messages within the specified range.
            </summary>
            <remarks>
            Gets the headers of the messages within the specified range.
            </remarks>
            <returns>The headers of the messages within the specified range.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message at the specified index.
            </summary>
            <remarks>
            Gets the message at the specified index.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessageAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message at the specified index.
            </summary>
            <remarks>
            Asynchronously gets the message at the specified index.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessages(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the messages at the specified indexes.
            </summary>
            <remarks>
            Gets the messages at the specified indexes.
            </remarks>
            <returns>The messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessagesAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the messages at the specified indexes.
            </summary>
            <remarks>
            Asynchronously gets the messages at the specified indexes.
            </remarks>
            <returns>The messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessages(System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the messages within the specified range.
            </summary>
            <remarks>
            Gets the messages within the specified range.
            </remarks>
            <returns>The messages.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetMessagesAsync(System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the messages within the specified range.
            </summary>
            <remarks>
            Asynchronously gets the messages within the specified range.
            </remarks>
            <returns>The messages.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header stream at the specified index.
            </summary>
            <remarks>
            Gets the message or header stream at the specified index.
            </remarks>
            <returns>The message or header stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetStreamAsync(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header stream at the specified index.
            </summary>
            <remarks>
            Asynchronously gets the message or header stream at the specified index.
            </remarks>
            <returns>The message or header stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetStreams(System.Collections.Generic.IList{System.Int32},System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header streams at the specified index.
            </summary>
            <remarks>
            Gets the message or header streams at the specified index.
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetStreamsAsync(System.Collections.Generic.IList{System.Int32},System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header streams at the specified indexes.
            </summary>
            <remarks>
            Asynchronously gets the message or header streams at the specified indexes.
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetStreams(System.Int32,System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header streams within the specified range.
            </summary>
            <remarks>
            Gets the message or header streams within the specified range.
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="startIndex">The index of the first stream to get.</param>
            <param name="count">The number of streams to get.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.GetStreamsAsync(System.Int32,System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header streams within the specified range.
            </summary>
            <remarks>
            Asynchronously gets the message or header streams within the specified range.
            </remarks>
            <returns>The messages.</returns>
            <param name="startIndex">The index of the first stream to get.</param>
            <param name="count">The number of streams to get.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailSpool.DeleteMessage(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Mark the specified message for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.DeleteMessageAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified message for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.DeleteMessages(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Mark the specified messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.DeleteMessagesAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.DeleteMessages(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Mark the specified range of messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="startIndex">The index of the first message to mark for deletion.</param>
            <param name="count">The number of messages to mark for deletion.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.DeleteMessagesAsync(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified range of messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="startIndex">The index of the first message to mark for deletion.</param>
            <param name="count">The number of messages to mark for deletion.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.DeleteAllMessages(System.Threading.CancellationToken)">
            <summary>
            Mark all messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.DeleteAllMessagesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark all messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.Reset(System.Threading.CancellationToken)">
            <summary>
            Reset the state of all messages marked for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailSpool.ResetAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously reset the state of all messages marked for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="T:MailKit.IMailStore">
            <summary>
            An interface for retreiving messages from a message store such as IMAP.
            </summary>
            <remarks>
            Implemented by <see cref="T:MailKit.Net.Imap.ImapClient"/>.
            </remarks>
        </member>
        <member name="P:MailKit.IMailStore.PersonalNamespaces">
            <summary>
            Get the personal namespaces.
            </summary>
            <remarks>
            The personal folder namespaces contain a user's personal mailbox folders.
            </remarks>
            <value>The personal namespaces.</value>
        </member>
        <member name="P:MailKit.IMailStore.SharedNamespaces">
            <summary>
            Get the shared namespaces.
            </summary>
            <remarks>
            The shared folder namespaces contain mailbox folders that are shared with the user.
            </remarks>
            <value>The shared namespaces.</value>
        </member>
        <member name="P:MailKit.IMailStore.OtherNamespaces">
            <summary>
            Get the other namespaces.
            </summary>
            <remarks>
            The other folder namespaces contain other mailbox folders.
            </remarks>
            <value>The other namespaces.</value>
        </member>
        <member name="P:MailKit.IMailStore.SupportsQuotas">
            <summary>
            Get whether or not the mail store supports quotas.
            </summary>
            <remarks>
            Gets whether or not the mail store supports quotas.
            </remarks>
            <value><c>true</c> if the mail store supports quotas; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMailStore.Inbox">
            <summary>
            Get the Inbox folder.
            </summary>
            <remarks>
            The Inbox folder is the default folder and is typically the folder
            where all new messages are delivered.
            </remarks>
            <value>The Inbox folder.</value>
        </member>
        <member name="M:MailKit.IMailStore.EnableQuickResync(System.Threading.CancellationToken)">
            <summary>
            Enable the quick resynchronization feature.
            </summary>
            <remarks>
            <para>Enables quick resynchronization when a folder is opened using the
            <see cref="M:MailKit.IMailFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)"/>
            method.</para>
            <para>If this feature is enabled, the <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event
            is replaced with the <see cref="E:MailKit.IMailFolder.MessagesVanished"/> event.</para>
            <para>This method needs to be called immediately after
            <see cref="M:MailKit.IMailService.Authenticate(System.Net.ICredentials,System.Threading.CancellationToken)"/>,
            before the opening of any folders.</para>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailService"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Quick resynchronization needs to be enabled before selecting a folder.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support quick resynchronization.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.EnableQuickResyncAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously enable the quick resynchronization feature.
            </summary>
            <remarks>
            <para>Enables quick resynchronization when a folder is opened using the
            <see cref="M:MailKit.IMailFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)"/>
            method.</para>
            <para>If this feature is enabled, the <see cref="E:MailKit.IMailFolder.MessageExpunged"/> event
            is replaced with the <see cref="E:MailKit.IMailFolder.MessagesVanished"/> event.</para>
            <para>This method needs to be called immediately after
            <see cref="M:MailKit.IMailService.Authenticate(System.Net.ICredentials,System.Threading.CancellationToken)"/>,
            before the opening of any folders.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailService"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Quick resynchronization needs to be enabled before selecting a folder.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support quick resynchronization.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetFolder(MailKit.SpecialFolder)">
            <summary>
            Get the specified special folder.
            </summary>
            <remarks>
            Not all message stores support the concept of special folders,
            so this method may return <c>null</c>.
            </remarks>
            <returns>The folder if available; otherwise <c>null</c>.</returns>
            <param name="folder">The type of special folder.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="folder"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetFolder(MailKit.FolderNamespace)">
            <summary>
            Get the folder for the specified namespace.
            </summary>
            <remarks>
            The main reason to get the toplevel folder in a namespace is
            to list its child folders.
            </remarks>
            <returns>The folder.</returns>
            <param name="namespace">The namespace.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetFolders(MailKit.FolderNamespace,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailService"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The namespace folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetFoldersAsync(MailKit.FolderNamespace,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Asynchronously gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailService"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The namespace folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetFolders(MailKit.FolderNamespace,MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailService"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailService"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The namespace folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetFoldersAsync(MailKit.FolderNamespace,MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Asynchronously gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailService"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailService"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The namespace folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetFolder(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the folder for the specified path.
            </summary>
            <remarks>
            Gets the folder for the specified path.
            </remarks>
            <returns>The folder.</returns>
            <param name="path">The folder path.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="path"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetFolderAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the folder for the specified path.
            </summary>
            <remarks>
            Asynchronously gets the folder for the specified path.
            </remarks>
            <returns>The folder.</returns>
            <param name="path">The folder path.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="path"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.IMailStore.GetMetadata(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailStore.GetMetadataAsync(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailStore.GetMetadata(System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailStore.GetMetadataAsync(System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailStore.GetMetadata(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailStore.GetMetadataAsync(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailStore.SetMetadata(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Sets the specified metadata.
            </summary>
            <remarks>
            Sets the specified metadata.
            </remarks>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:MailKit.IMailStore.SetMetadataAsync(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the specified metadata.
            </summary>
            <remarks>
            Asynchronously sets the specified metadata.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="E:MailKit.IMailStore.Alert">
            <summary>
            Occurs when a remote message store receives an alert message from the server.
            </summary>
            <remarks>
            Some implementations, such as <see cref="T:MailKit.Net.Imap.ImapClient"/>,
            will emit Alert events when they receive alert messages from the server.
            </remarks>
        </member>
        <member name="E:MailKit.IMailStore.FolderCreated">
            <summary>
            Occurs when a folder is created.
            </summary>
            <remarks>
            The <see cref="E:MailKit.IMailStore.FolderCreated"/> event is emitted when a new folder is created.
            </remarks>
        </member>
        <member name="E:MailKit.IMailStore.MetadataChanged">
            <summary>
            Occurs when metadata changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.IMailStore.MetadataChanged"/> event is emitted when metadata changes.
            </remarks>
        </member>
        <member name="T:MailKit.IMailTransport">
            <summary>
            An interface for sending messages.
            </summary>
            <remarks>
            An interface for sending messages.
            </remarks>
        </member>
        <member name="M:MailKit.IMailTransport.Send(MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message.
            </summary>
            <remarks>
            <para>Sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailTransport.SendAsync(MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message.
            </summary>
            <remarks>
            <para>Asynchronously sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailTransport.Send(MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Sends the specified message using the supplied sender and recipients.
            </remarks>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailTransport.SendAsync(MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Asynchronously sends the specified message using the supplied sender and recipients.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailTransport.Send(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message.
            </summary>
            <remarks>
            <para>Sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailTransport.SendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message.
            </summary>
            <remarks>
            <para>Asynchronously sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailTransport.Send(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Sends the specified message using the supplied sender and recipients.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="M:MailKit.IMailTransport.SendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Asynchronously sends the specified message using the supplied sender and recipients.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
        </member>
        <member name="E:MailKit.IMailTransport.MessageSent">
            <summary>
            Occurs when a message is successfully sent via the transport.
            </summary>
            <remarks>
            The <see cref="E:MailKit.IMailTransport.MessageSent"/> event will be emitted each time a message is successfully sent.
            </remarks>
        </member>
        <member name="T:MailKit.IMessageSummary">
            <summary>
            A summary of a message.
            </summary>
            <remarks>
            A <see cref="T:MailKit.IMessageSummary"/> is returned by
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.
            The properties of the <see cref="T:MailKit.IMessageSummary"/> that will be available
            depend on the <see cref="T:MailKit.MessageSummaryItems"/> passed to the aformentioned method.
            </remarks>
        </member>
        <member name="P:MailKit.IMessageSummary.Fields">
            <summary>
            Get a bitmask of fields that have been populated.
            </summary>
            <remarks>
            Gets a bitmask of fields that have been populated.
            </remarks>
            <value>The fields that have been populated.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Body">
            <summary>
            Gets the body structure of the message, if available.
            </summary>
            <remarks>
            <para>The body will be one of <see cref="T:MailKit.BodyPartText"/>,
            <see cref="T:MailKit.BodyPartMessage"/>, <see cref="T:MailKit.BodyPartBasic"/>,
            or <see cref="T:MailKit.BodyPartMultipart"/>.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Body"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The body structure of the message.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.TextBody">
            <summary>
            Gets the text body part of the message if it exists.
            </summary>
            <remarks>
            <para>Gets the <c>text/plain</c> body part of the message.</para>
            <para>In order for this to work properly, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <value>The text body if it exists; otherwise, <c>null</c>.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.HtmlBody">
            <summary>
            Gets the html body part of the message if it exists.
            </summary>
            <remarks>
            <para>Gets the <c>text/html</c> body part of the message.</para>
            <para>In order for this to work properly, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The html body if it exists; otherwise, <c>null</c>.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.BodyParts">
            <summary>
            Gets the body parts of the message.
            </summary>
            <remarks>
            <para>Traverses over the <see cref="P:MailKit.IMessageSummary.Body"/>, enumerating all of the
            <see cref="T:MailKit.BodyPartBasic"/> objects.</para>
            <para>In order for this to work, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> or
            <see cref="F:MailKit.MessageSummaryItems.Body"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The body parts.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Attachments">
            <summary>
            Gets the attachments.
            </summary>
            <remarks>
            <para>Traverses over the <see cref="P:MailKit.IMessageSummary.Body"/>, enumerating all of the
            <see cref="T:MailKit.BodyPartBasic"/> objects that have a <c>Content-Disposition</c>
            header set to <c>"attachment"</c>.</para>
            <para>In order for this to work properly, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <value>The attachments.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.PreviewText">
            <summary>
            Gets the preview text of the message.
            </summary>
            <remarks>
            <para>The preview text is a short snippet of the beginning of the message
            text, typically shown in a mail client's message list UI.</para>
            <para>In order for this to work properly, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.PreviewText"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The preview text.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Envelope">
            <summary>
            Gets the envelope of the message, if available.
            </summary>
            <remarks>
            <para>The envelope of a message contains information such as the
            date the message was sent, the subject of the message,
            the sender of the message, who the message was sent to,
            which message(s) the message may be in reply to,
            and the message id.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Envelope"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The envelope of the message.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.NormalizedSubject">
            <summary>
            Gets the normalized subject.
            </summary>
            <remarks>
            <para>A normalized <c>Subject</c> header value where prefixes such as <c>"Re:"</c>, <c>"Re[#]:"</c> and <c>"FWD:"</c> have been pruned.</para>
            <para>This property is typically used for threading messages by subject.</para>
            </remarks>
            <value>The normalized subject.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Date">
            <summary>
            Gets the Date header value.
            </summary>
            <remarks>
            Gets the Date header value. If the Date header is not present, the arrival date is used.
            If neither are known, <see cref="F:System.DateTimeOffset.MinValue"/> is returned.
            </remarks>
            <value>The date.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.IsReply">
            <summary>
            Gets whether or not the message is a reply.
            </summary>
            <remarks>
            This value should be based on whether the message subject contained any <c>"Re:"</c>, <c>"Re[#]:"</c> or <c>"FWD:"</c> prefixes.
            </remarks>
            <value><c>true</c> if the message is a reply; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Flags">
            <summary>
            Gets the message flags, if available.
            </summary>
            <remarks>
            <para>Gets the message flags, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Flags"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The message flags.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Keywords">
            <summary>
            Gets the user-defined message flags, if available.
            </summary>
            <remarks>
            <para>Gets the user-defined message flags, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Flags"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The user-defined message flags.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.UserFlags">
            <summary>
            Gets the user-defined message flags, if available.
            </summary>
            <remarks>
            <para>Gets the user-defined message flags, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Flags"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The user-defined message flags.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Headers">
            <summary>
            Gets the list of headers, if available.
            </summary>
            <remarks>
            <para>Gets the list of headers, if available.</para>
            <para>This property will only be set if <see cref="F:MailKit.MessageSummaryItems.Headers"/> is specified or specific headers are requested via a method such as
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)"/>.
            that takes a list of specific headers to request for each message.</para>
            </remarks>
            <value>The list of headers.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.InternalDate">
            <summary>
            Gets the internal date of the message, if available.
            </summary>
            <remarks>
            <para>Gets the internal date of the message (often the same date as found in the <c>Received</c> header), if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.InternalDate"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The internal date of the message.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Size">
            <summary>
            Gets the size of the message, in bytes, if available.
            </summary>
            <remarks>
            <para>Gets the size of the message, in bytes, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Size"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The size of the message.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.ModSeq">
            <summary>
            Gets the mod-sequence value for the message, if available.
            </summary>
            <remarks>
            <para>Gets the mod-sequence value for the message, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.ModSeq"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The mod-sequence value.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.References">
            <summary>
            Gets the message-ids that the message references, if available.
            </summary>
            <remarks>
            <para>Gets the message-ids that the message references, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.References"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The references.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Id">
            <summary>
            Get the globally unique identifier for the message, if available.
            </summary>
            <remarks>
            <para>Gets the globally unique identifier of the message, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Id"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            <note type="info">This property maps to the <c>EMAILID</c> value defined in the <a href="https://tools.ietf.org/html/rfc8474">OBJECTID</a> extension.</note>
            </remarks>
            <value>The globally unique message identifier.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.ThreadId">
            <summary>
            Get the globally unique thread identifier for the message, if available.
            </summary>
            <remarks>
            <para>Gets the globally unique thread identifier for the message, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.ThreadId"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            <note type="info">This property maps to the <c>THREADID</c> value defined in the <a href="https://tools.ietf.org/html/rfc8474">OBJECTID</a> extension.</note>
            </remarks>
            <value>The globally unique thread identifier.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.UniqueId">
            <summary>
            Gets the unique identifier of the message, if available.
            </summary>
            <remarks>
            <para>Gets the unique identifier of the message, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.UniqueId"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The uid of the message.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.Index">
            <summary>
            Gets the index of the message.
            </summary>
            <remarks>
            Gets the index of the message.
            </remarks>
            <value>The index of the message.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.GMailMessageId">
            <summary>
            Gets the GMail message identifier, if available.
            </summary>
            <remarks>
            <para>Gets the GMail message identifier, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.GMailMessageId"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The GMail message identifier.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.GMailThreadId">
            <summary>
            Gets the GMail thread identifier, if available.
            </summary>
            <remarks>
            <para>Gets the GMail thread identifier, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.GMailThreadId"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The GMail thread identifier.</value>
        </member>
        <member name="P:MailKit.IMessageSummary.GMailLabels">
            <summary>
            Gets the list of GMail labels, if available.
            </summary>
            <remarks>
            <para>Gets the list of GMail labels, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.GMailLabels"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The GMail labels.</value>
        </member>
        <member name="T:MailKit.IProtocolLogger">
            <summary>
            An interface for logging the communication between a client and server.
            </summary>
            <remarks>
            An interface for logging the communication between a client and server.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ProtocolLogger" />
            </example>
        </member>
        <member name="M:MailKit.IProtocolLogger.LogConnect(System.Uri)">
            <summary>
            Logs a connection to the specified URI.
            </summary>
            <remarks>
            Logs a connection to the specified URI.
            </remarks>
            <param name="uri">The URI.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The logger has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IProtocolLogger.LogClient(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Logs a sequence of bytes sent by the client.
            </summary>
            <remarks>
            <para>Logs a sequence of bytes sent by the client.</para>
            <para><see cref="M:MailKit.IProtocolLogger.LogClient(System.Byte[],System.Int32,System.Int32)"/> is called by the <see cref="T:MailKit.IMailService"/> upon every successful
            write operation to its underlying network stream, passing the exact same <paramref name="buffer"/>,
            <paramref name="offset"/>, and <paramref name="count"/> arguments to the logging function.</para>
            </remarks>
            <param name='buffer'>The buffer to log.</param>
            <param name='offset'>The offset of the first byte to log.</param>
            <param name='count'>The number of bytes to log.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The logger has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.IProtocolLogger.LogServer(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Logs a sequence of bytes sent by the server.
            </summary>
            <remarks>
            <para>Logs a sequence of bytes sent by the server.</para>
            <para><see cref="M:MailKit.IProtocolLogger.LogServer(System.Byte[],System.Int32,System.Int32)"/> is called by the <see cref="T:MailKit.IMailService"/> upon every successful
            read of its underlying network stream with the exact buffer that was read.</para>
            </remarks>
            <param name='buffer'>The buffer to log.</param>
            <param name='offset'>The offset of the first byte to log.</param>
            <param name='count'>The number of bytes to log.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The logger has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="T:MailKit.ITransferProgress">
            <summary>
            An interface for reporting progress of uploading or downloading messages.
            </summary>
            <remarks>
            An interface for reporting progress of uploading or downloading messages.
            </remarks>
        </member>
        <member name="M:MailKit.ITransferProgress.Report(System.Int64,System.Int64)">
            <summary>
            Report the progress of the transfer operation.
            </summary>
            <remarks>
            <para>Reports the progress of the transfer operation.</para>
            <para>This method is only used if the operation knows the size
            of the message, part, or stream being transferred without doing
            extra work to calculate it.</para>
            </remarks>
            <param name="bytesTransferred">The number of bytes transferred.</param>
            <param name="totalSize">The total size, in bytes, of the message, part, or stream being transferred.</param>
        </member>
        <member name="M:MailKit.ITransferProgress.Report(System.Int64)">
            <summary>
            Report the progress of the transfer operation.
            </summary>
            <remarks>
            <para>Reports the progress of the transfer operation.</para>
            </remarks>
            <param name="bytesTransferred">The number of bytes transferred.</param>
        </member>
        <member name="T:MailKit.MailFolder">
            <summary>
            An abstract mail folder implementation.
            </summary>
            <remarks>
            An abstract mail folder implementation.
            </remarks>
        </member>
        <member name="F:MailKit.MailFolder.SettableFlags">
            <summary>
            The bit mask of settable flags.
            </summary>
            <remarks>
            Only flags in the list of settable flags may be set on a message by the client.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.#ctor">
            <summary>
            Initialize a new instance of the <see cref="T:MailKit.MailFolder"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.MailFolder"/> class.
            </remarks>
        </member>
        <member name="P:MailKit.MailFolder.SyncRoot">
            <summary>
            Get an object that can be used to synchronize access to the folder.
            </summary>
            <remarks>
            <para>Gets an object that can be used to synchronize access to the folder.</para>
            </remarks>
            <value>The sync root.</value>
        </member>
        <member name="P:MailKit.MailFolder.ParentFolder">
            <summary>
            Get the parent folder.
            </summary>
            <remarks>
            Root-level folders do not have a parent folder.
            </remarks>
            <value>The parent folder.</value>
        </member>
        <member name="P:MailKit.MailFolder.Attributes">
            <summary>
            Get the folder attributes.
            </summary>
            <remarks>
            Gets the folder attributes.
            </remarks>
            <value>The folder attributes.</value>
        </member>
        <member name="P:MailKit.MailFolder.PermanentFlags">
            <summary>
            Get the permanent flags.
            </summary>
            <remarks>
            <para>The permanent flags are the message flags that will persist between sessions.</para>
            <para>If the <see cref="F:MailKit.MessageFlags.UserDefined"/> flag is set, then the folder allows
            storing of user-defined (custom) message flags.</para>
            </remarks>
            <value>The permanent flags.</value>
        </member>
        <member name="P:MailKit.MailFolder.AcceptedFlags">
            <summary>
            Get the accepted flags.
            </summary>
            <remarks>
            The accepted flags are the message flags that will be accepted and persist
            for the current session. For the set of flags that will persist between
            sessions, see the <see cref="P:MailKit.MailFolder.PermanentFlags"/> property.
            </remarks>
            <value>The accepted flags.</value>
        </member>
        <member name="P:MailKit.MailFolder.DirectorySeparator">
            <summary>
            Get the directory separator.
            </summary>
            <remarks>
            Gets the directory separator.
            </remarks>
            <value>The directory separator.</value>
        </member>
        <member name="P:MailKit.MailFolder.Access">
            <summary>
            Get the read/write access of the folder.
            </summary>
            <remarks>
            Gets the read/write access of the folder.
            </remarks>
            <value>The read/write access.</value>
        </member>
        <member name="P:MailKit.MailFolder.IsNamespace">
            <summary>
            Get whether or not the folder is a namespace folder.
            </summary>
            <remarks>
            Gets whether or not the folder is a namespace folder.
            </remarks>
            <value><c>true</c> if the folder is a namespace folder; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailFolder.FullName">
            <summary>
            Get the full name of the folder.
            </summary>
            <remarks>
            This is the equivalent of the full path of a file on a file system.
            </remarks>
            <value>The full name of the folder.</value>
        </member>
        <member name="P:MailKit.MailFolder.Name">
            <summary>
            Get the name of the folder.
            </summary>
            <remarks>
            This is the equivalent of the file name of a file on the file system.
            </remarks>
            <value>The name of the folder.</value>
        </member>
        <member name="P:MailKit.MailFolder.Id">
            <summary>
            Get the unique identifier for the folder, if available.
            </summary>
            <remarks>
            <para>Gets a unique identifier for the folder, if available. This is useful for clients
            implementing a message cache that want to track the folder after it is renamed by another
            client.</para>
            <note type="note">This property will only be available if the server supports the
            <a href="https://tools.ietf.org/html/rfc8474">OBJECTID</a> extension.</note>
            </remarks>
            <value>The unique folder identifier.</value>
        </member>
        <member name="P:MailKit.MailFolder.IsSubscribed">
            <summary>
            Get a value indicating whether the folder is subscribed.
            </summary>
            <remarks>
            Gets a value indicating whether the folder is subscribed.
            </remarks>
            <value><c>true</c> if the folder is subscribed; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailFolder.IsOpen">
            <summary>
            Get a value indicating whether the folder is currently open.
            </summary>
            <remarks>
            Gets a value indicating whether the folder is currently open.
            </remarks>
            <value><c>true</c> if the folder is currently open; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailFolder.Exists">
            <summary>
            Get a value indicating whether the folder exists.
            </summary>
            <remarks>
            Gets a value indicating whether the folder exists.
            </remarks>
            <value><c>true</c> if the folder exists; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailFolder.SupportsModSeq">
            <summary>
            Get whether or not the folder supports mod-sequences.
            </summary>
            <remarks>
            <para>If mod-sequences are not supported by the folder, then all of the APIs that take a modseq
            argument will throw <see cref="T:System.NotSupportedException"/> and should not be used.</para>
            </remarks>
            <value><c>true</c> if supports mod-sequences; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailFolder.HighestModSeq">
            <summary>
            Get the highest mod-sequence value of all messages in the mailbox.
            </summary>
            <remarks>
            Gets the highest mod-sequence value of all messages in the mailbox.
            </remarks>
            <value>The highest mod-sequence value.</value>
        </member>
        <member name="P:MailKit.MailFolder.UidValidity">
            <summary>
            Get the UID validity.
            </summary>
            <remarks>
            <para>UIDs are only valid so long as the UID validity value remains unchanged. If and when
            the folder's <see cref="P:MailKit.MailFolder.UidValidity"/> is changed, a client MUST discard its cache of UIDs
            along with any summary information that it may have and re-query the folder.</para>
            <para>This value will only be set after the folder has been opened.</para>
            </remarks>
            <value>The UID validity.</value>
        </member>
        <member name="P:MailKit.MailFolder.UidNext">
            <summary>
            Get the UID that the folder will assign to the next message that is added.
            </summary>
            <remarks>
            This value will only be set after the folder has been opened.
            </remarks>
            <value>The next UID.</value>
        </member>
        <member name="P:MailKit.MailFolder.AppendLimit">
            <summary>
            Get the maximum size of a message that can be appended to the folder.
            </summary>
            <remarks>
            <para>Gets the maximum size of a message that can be appended to the folder.</para>
            <note type="note">If the value is not set, then the limit is unspecified.</note>
            </remarks>
            <value>The append limit.</value>
        </member>
        <member name="P:MailKit.MailFolder.Size">
            <summary>
            Get the size of the folder.
            </summary>
            <remarks>
            <para>Gets the size of the folder in bytes.</para>
            <note type="note">If the value is not set, then the size is unspecified.</note>
            </remarks>
            <value>The size.</value>
        </member>
        <member name="P:MailKit.MailFolder.FirstUnread">
            <summary>
            Get the index of the first unread message in the folder.
            </summary>
            <remarks>
            This value will only be set after the folder has been opened.
            </remarks>
            <value>The index of the first unread message.</value>
        </member>
        <member name="P:MailKit.MailFolder.Unread">
            <summary>
            Get the number of unread messages in the folder.
            </summary>
            <remarks>
            <para>Gets the number of unread messages in the folder.</para>
            <note type="note">This value will only be set after calling
            <see cref="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            with <see cref="F:MailKit.StatusItems.Unread"/>.</note>
            </remarks>
            <value>The number of unread messages.</value>
        </member>
        <member name="P:MailKit.MailFolder.Recent">
            <summary>
            Get the number of recently added messages in the folder.
            </summary>
            <remarks>
            <para>Gets the number of recently delivered messages in the folder.</para>
            <note type="note">This value will only be set after calling
            <see cref="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            with <see cref="F:MailKit.StatusItems.Recent"/> or by opening the folder.</note>
            </remarks>
            <value>The number of recently added messages.</value>
        </member>
        <member name="P:MailKit.MailFolder.Count">
            <summary>
            Get the total number of messages in the folder.
            </summary>
            <remarks>
            <para>Gets the total number of messages in the folder.</para>
            <note type="note">This value will only be set after calling
            <see cref="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            with <see cref="F:MailKit.StatusItems.Count"/> or by opening the folder.</note>
            </remarks>
            <value>The total number of messages.</value>
        </member>
        <member name="M:MailKit.MailFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Opens the folder using the requested folder access.
            </summary>
            <remarks>
            <para>This variant of the <see cref="M:MailKit.MailFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)"/>
            method is meant for quick resynchronization of the folder. Before calling this method,
            the <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method MUST be called.</para>
            <para>You should also make sure to add listeners to the <see cref="E:MailKit.MailFolder.MessagesVanished"/> and
            <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events to get notifications of changes since
            the last time the folder was opened.</para>
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="uidValidity">The last known <see cref="P:MailKit.MailFolder.UidValidity"/> value.</param>
            <param name="highestModSeq">The last known <see cref="P:MailKit.MailFolder.HighestModSeq"/> value.</param>
            <param name="uids">The last known list of unique message identifiers.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="access"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The quick resynchronization feature has not been enabled.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the quick resynchronization feature.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.OpenAsync(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously opens the folder using the requested folder access.
            </summary>
            <remarks>
            <para>This variant of the <see cref="M:MailKit.MailFolder.OpenAsync(MailKit.FolderAccess,System.Threading.CancellationToken)"/>
            method is meant for quick resynchronization of the folder. Before calling this method,
            the <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method MUST be called.</para>
            <para>You should also make sure to add listeners to the <see cref="E:MailKit.MailFolder.MessagesVanished"/> and
            <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events to get notifications of changes since
            the last time the folder was opened.</para>
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="uidValidity">The last known <see cref="P:MailKit.MailFolder.UidValidity"/> value.</param>
            <param name="highestModSeq">The last known <see cref="P:MailKit.MailFolder.HighestModSeq"/> value.</param>
            <param name="uids">The last known list of unique message identifiers.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="access"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The quick resynchronization feature has not been enabled.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the quick resynchronization feature.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Open(MailKit.FolderAccess,System.Threading.CancellationToken)">
            <summary>
            Open the folder using the requested folder access.
            </summary>
            <remarks>
            Opens the folder using the requested folder access.
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="access"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.OpenAsync(MailKit.FolderAccess,System.Threading.CancellationToken)">
            <summary>
            Asynchronously open the folder using the requested folder access.
            </summary>
            <remarks>
            Asynchronously opens the folder using the requested folder access.
            </remarks>
            <returns>The <see cref="T:MailKit.FolderAccess"/> state of the folder.</returns>
            <param name="access">The requested folder access.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="access"/> is not a valid value.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Close(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Close the folder, optionally expunging the messages marked for deletion.
            </summary>
            <remarks>
            Closes the folder, optionally expunging the messages marked for deletion.
            </remarks>
            <param name="expunge">If set to <c>true</c>, expunge.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CloseAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously close the folder, optionally expunging the messages marked for deletion.
            </summary>
            <remarks>
            Asynchronously closes the folder, optionally expunging the messages marked for deletion.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="expunge">If set to <c>true</c>, expunge.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Create(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="isMessageFolder"><c>true</c> if the folder will be used to contain messages; otherwise <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CreateAsync(System.String,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new subfolder with the given name.
            </summary>
            <remarks>
            Asynchronously creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="isMessageFolder"><c>true</c> if the folder will be used to contain messages; otherwise <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Create(System.String,System.Collections.Generic.IEnumerable{MailKit.SpecialFolder},System.Threading.CancellationToken)">
            <summary>
            Create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUses">A list of special uses for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="specialUses"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailService"/> does not support the creation of special folders.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CreateAsync(System.String,System.Collections.Generic.IEnumerable{MailKit.SpecialFolder},System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new subfolder with the given name.
            </summary>
            <remarks>
            Asynchronously creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUses">A list of special uses for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="specialUses"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailService"/> does not support the creation of special folders.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Create(System.String,MailKit.SpecialFolder,System.Threading.CancellationToken)">
            <summary>
            Create a new subfolder with the given name.
            </summary>
            <remarks>
            Creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUse">The special use for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailService"/> does not support the creation of special folders.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CreateAsync(System.String,MailKit.SpecialFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously create a new subfolder with the given name.
            </summary>
            <remarks>
            Asynchronously creates a new subfolder with the given name.
            </remarks>
            <returns>The created folder.</returns>
            <param name="name">The name of the folder to create.</param>
            <param name="specialUse">The special use for the folder being created.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is empty.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="P:MailKit.MailFolder.DirectorySeparator"/> is nil, and thus child folders cannot be created.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailService"/> does not support the creation of special folders.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Rename(MailKit.IMailFolder,System.String,System.Threading.CancellationToken)">
            <summary>
            Rename the folder.
            </summary>
            <remarks>
            Renames the folder.
            </remarks>
            <param name="parent">The new parent folder.</param>
            <param name="name">The new name of the folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="parent"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="parent"/> does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is not a legal folder name.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The folder cannot be renamed (it is either a namespace or the Inbox).
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RenameAsync(MailKit.IMailFolder,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously rename the folder.
            </summary>
            <remarks>
            Asynchronously renames the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="parent">The new parent folder.</param>
            <param name="name">The new name of the folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="parent"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="parent"/> does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            <para>-or-</para>
            <para><paramref name="name"/> is not a legal folder name.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The folder cannot be renamed (it is either a namespace or the Inbox).
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Delete(System.Threading.CancellationToken)">
            <summary>
            Delete the folder.
            </summary>
            <remarks>
            Deletes the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The folder cannot be deleted (it is either a namespace or the Inbox).
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.DeleteAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously delete the folder.
            </summary>
            <remarks>
            Asynchronously deletes the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The folder cannot be deleted (it is either a namespace or the Inbox).
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Subscribe(System.Threading.CancellationToken)">
            <summary>
            Subscribe to the folder.
            </summary>
            <remarks>
            Subscribes to the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SubscribeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously subscribe to the folder.
            </summary>
            <remarks>
            Asynchronously subscribes to the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Unsubscribe(System.Threading.CancellationToken)">
            <summary>
            Unsubscribe from the folder.
            </summary>
            <remarks>
            Unsubscribes from the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.UnsubscribeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously unsubscribe from the folder.
            </summary>
            <remarks>
            Asynchronously unsubscribes from the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetSubfolders(MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get the subfolders.
            </summary>
            <remarks>
            <para>Gets the subfolders as well as queries the server for the status of the requested items.</para>
            <para>When the <paramref name="items"/> argument is non-empty, this has the equivalent functionality
            of calling <see cref="M:MailKit.MailFolder.GetSubfolders(System.Boolean,System.Threading.CancellationToken)"/> and then calling
            <see cref="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/> on each of the returned folders.</para>
            </remarks>
            <returns>The subfolders.</returns>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetSubfoldersAsync(MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the subfolders.
            </summary>
            <remarks>
            <para>Asynchronously gets the subfolders as well as queries the server for the status of the requested items.</para>
            <para>When the <paramref name="items"/> argument is non-empty, this has the equivalent functionality
            of calling <see cref="M:MailKit.MailFolder.GetSubfoldersAsync(System.Boolean,System.Threading.CancellationToken)"/> and then calling
            <see cref="M:MailKit.MailFolder.StatusAsync(MailKit.StatusItems,System.Threading.CancellationToken)"/> on each of the returned folders.</para>
            </remarks>
            <returns>The subfolders.</returns>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetSubfolders(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get the subfolders.
            </summary>
            <remarks>
            Gets the subfolders.
            </remarks>
            <returns>The subfolders.</returns>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetSubfoldersAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the subfolders.
            </summary>
            <remarks>
            Asynchronously gets the subfolders.
            </remarks>
            <returns>The subfolders.</returns>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetSubfolder(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the specified subfolder.
            </summary>
            <remarks>
            Gets the specified subfolder.
            </remarks>
            <returns>The subfolder.</returns>
            <param name="name">The name of the subfolder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is either an empty string or contains the <see cref="P:MailKit.MailFolder.DirectorySeparator"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The requested folder could not be found.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetSubfolderAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the specified subfolder.
            </summary>
            <remarks>
            Asynchronously gets the specified subfolder.
            </remarks>
            <returns>The subfolder.</returns>
            <param name="name">The name of the subfolder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="name"/> is either an empty string or contains the <see cref="P:MailKit.MailFolder.DirectorySeparator"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The requested folder could not be found.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Check(System.Threading.CancellationToken)">
            <summary>
            Force the server to flush its state for the folder.
            </summary>
            <remarks>
            Forces the server to flush its state for the folder.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CheckAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously force the server to flush its state for the folder.
            </summary>
            <remarks>
            Asynchronously forces the server to flush its state for the folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)">
            <summary>
            Update the values of the specified items.
            </summary>
            <remarks>
            <para>Updates the values of the specified items.</para>
            <para>The <see cref="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/> method
            MUST NOT be used on a folder that is already in the opened state. Instead, other ways
            of getting the desired information should be used.</para>
            <para>For example, a common use for the <see cref="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            method is to get the number of unread messages in the folder. When the folder is open, however, it is
            possible to use the <see cref="M:MailKit.MailFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)"/>
            method to query for the list of unread messages.</para>
            </remarks>
            <param name="items">The items to update.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the STATUS command.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.StatusAsync(MailKit.StatusItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously update the values of the specified items.
            </summary>
            <remarks>
            <para>Updates the values of the specified items.</para>
            <para>The <see cref="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/> method
            MUST NOT be used on a folder that is already in the opened state. Instead, other ways
            of getting the desired information should be used.</para>
            <para>For example, a common use for the <see cref="M:MailKit.MailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            method is to get the number of unread messages in the folder. When the folder is open, however, it is
            possible to use the <see cref="M:MailKit.MailFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)"/>
            method to query for the list of unread messages.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="items">The items to update.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the STATUS command.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetAccessControlList(System.Threading.CancellationToken)">
            <summary>
            Get the complete access control list for the folder.
            </summary>
            <remarks>
            Gets the complete access control list for the folder.
            </remarks>
            <returns>The access control list.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetAccessControlListAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the complete access control list for the folder.
            </summary>
            <remarks>
            Asynchronously gets the complete access control list for the folder.
            </remarks>
            <returns>The access control list.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetAccessRights(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the access rights for a particular identifier.
            </summary>
            <remarks>
            Gets the access rights for a particular identifier.
            </remarks>
            <returns>The access rights.</returns>
            <param name="name">The identifier name.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetAccessRightsAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the access rights for a particular identifier.
            </summary>
            <remarks>
            Asynchronously gets the access rights for a particular identifier.
            </remarks>
            <returns>The access rights.</returns>
            <param name="name">The identifier name.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMyAccessRights(System.Threading.CancellationToken)">
            <summary>
            Get the access rights for the current authenticated user.
            </summary>
            <remarks>
            Gets the access rights for the current authenticated user.
            </remarks>
            <returns>The access rights.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMyAccessRightsAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the access rights for the current authenticated user.
            </summary>
            <remarks>
            Asynchronously gets the access rights for the current authenticated user.
            </remarks>
            <returns>The access rights.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Add access rights for the specified identity.
            </summary>
            <remarks>
            Adds the given access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add access rights for the specified identity.
            </summary>
            <remarks>
            Asynchronously adds the given access rights for the specified identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Remove access rights for the specified identity.
            </summary>
            <remarks>
            Removes the given access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove access rights for the specified identity.
            </summary>
            <remarks>
            Asynchronously removes the given access rights for the specified identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetAccessRights(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Set the access rights for the specified identity.
            </summary>
            <remarks>
            Sets the access rights for the specified identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetAccessRightsAsync(System.String,MailKit.AccessRights,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the access rights for the specified identity.
            </summary>
            <remarks>
            Asynchronously sets the access rights for the specified identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="rights">The access rights.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="name"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="rights"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveAccess(System.String,System.Threading.CancellationToken)">
            <summary>
            Remove all access rights for the given identity.
            </summary>
            <remarks>
            Removes all access rights for the given identity.
            </remarks>
            <param name="name">The identity name.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveAccessAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove all access rights for the given identity.
            </summary>
            <remarks>
            Asynchronously removes all access rights for the given identity.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="name">The identity name.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="name"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the ACL extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetQuota(System.Threading.CancellationToken)">
            <summary>
            Get the quota information for the folder.
            </summary>
            <remarks>
            <para>Gets the quota information for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.IMailStore.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The folder quota.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support quotas.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetQuotaAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the quota information for the folder.
            </summary>
            <remarks>
            <para>Asynchronously gets the quota information for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.IMailStore.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The folder quota.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support quotas.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetQuota(System.Nullable{System.UInt32},System.Nullable{System.UInt32},System.Threading.CancellationToken)">
            <summary>
            Set the quota limits for the folder.
            </summary>
            <remarks>
            <para>Sets the quota limits for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.IMailStore.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The updated folder quota.</returns>
            <param name="messageLimit">If not <c>null</c>, sets the maximum number of messages to allow.</param>
            <param name="storageLimit">If not <c>null</c>, sets the maximum storage size (in kilobytes).</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support quotas.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetQuotaAsync(System.Nullable{System.UInt32},System.Nullable{System.UInt32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the quota limits for the folder.
            </summary>
            <remarks>
            <para>Asynchronously sets the quota limits for the folder.</para>
            <para>To determine if a quotas are supported, check the 
            <see cref="P:MailKit.IMailStore.SupportsQuotas"/> property.</para>
            </remarks>
            <returns>The updated folder quota.</returns>
            <param name="messageLimit">If not <c>null</c>, sets the maximum number of messages to allow.</param>
            <param name="storageLimit">If not <c>null</c>, sets the maximum storage size (in kilobytes).</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support quotas.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMetadata(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Get the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMetadataAsync(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMetadata(System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Get the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="tags"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMetadataAsync(System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="tags"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMetadata(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Get the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="tags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMetadataAsync(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="tags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetMetadata(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Sets the specified metadata.
            </summary>
            <remarks>
            Sets the specified metadata.
            </remarks>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetMetadataAsync(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the specified metadata.
            </summary>
            <remarks>
            Asynchronously sets the specified metadata.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Expunge(System.Threading.CancellationToken)">
            <summary>
            Expunge the folder, permanently removing all messages marked for deletion.
            </summary>
            <remarks>
            <para>Expunges the folder, permanently removing all messages marked for deletion.</para>
            <note type="note">Normally, an <see cref="E:MailKit.MailFolder.MessageExpunged"/> event will be emitted for
            each message that is expunged. However, if the mail store supports the quick
            resynchronization feature and it has been enabled via the
            <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method, then
            the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event will be emitted rather than the
            <see cref="E:MailKit.MailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.ExpungeAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously expunge the folder, permanently removing all messages marked for deletion.
            </summary>
            <remarks>
            <para>Asynchronously expunges the folder, permanently removing all messages marked for deletion.</para>
            <note type="note">Normally, an <see cref="E:MailKit.MailFolder.MessageExpunged"/> event will be emitted for
            each message that is expunged. However, if the mail store supports the quick
            resynchronization feature and it has been enabled via the
            <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method, then
            the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event will be emitted rather than the
            <see cref="E:MailKit.MailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Expunge(System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Expunge the specified uids, permanently removing them from the folder.
            </summary>
            <remarks>
            <para>Expunges the specified uids, permanently removing them from the folder.</para>
            <note type="note">Normally, an <see cref="E:MailKit.MailFolder.MessageExpunged"/> event will be emitted for
            each message that is expunged. However, if the mail store supports the quick
            resynchronization feature and it has been enabled via the
            <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method, then
            the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event will be emitted rather than the
            <see cref="E:MailKit.MailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <param name="uids">The message uids.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.ExpungeAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously expunge the specified uids, permanently removing them from the folder.
            </summary>
            <remarks>
            <para>Asynchronously expunges the specified uids, permanently removing them from the folder.</para>
            <note type="note">Normally, an <see cref="E:MailKit.MailFolder.MessageExpunged"/> event will be emitted for
            each message that is expunged. However, if the mail store supports the quick
            resynchronization feature and it has been enabled via the
            <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/> method, then
            the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event will be emitted rather than the
            <see cref="E:MailKit.MailFolder.MessageExpunged"/> event.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The message uids.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Append(MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AppendAsync(MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Append(MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AppendAsync(MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Append(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AppendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Append(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified message to the folder.
            </summary>
            <remarks>
            Appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AppendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MailKit.MessageFlags,System.DateTimeOffset,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified message to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified message to the folder and returns the UniqueId assigned to the message.
            </remarks>
            <returns>The UID of the appended message, if available; otherwise, <c>null</c>.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="flags">The message flags.</param>
            <param name="date">The received date of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Append(System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="messages">The array of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages does not match the number of flags.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AppendAsync(System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="messages">The array of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages does not match the number of flags.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Append(System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="messages">The array of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="dates"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages, flags, and dates do not match.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AppendAsync(System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="messages">The array of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="dates"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages, flags, and dates do not match.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Append(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The array of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages does not match the number of flags.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AppendAsync(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The array of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages does not match the number of flags.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Append(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Append the specified messages to the folder.
            </summary>
            <remarks>
            Appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The array of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="dates"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages, flags, and dates do not match.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AppendAsync(MimeKit.FormatOptions,System.Collections.Generic.IList{MimeKit.MimeMessage},System.Collections.Generic.IList{MailKit.MessageFlags},System.Collections.Generic.IList{System.DateTimeOffset},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously append the specified messages to the folder.
            </summary>
            <remarks>
            Asynchronously appends the specified messages to the folder and returns the UniqueIds assigned to the messages.
            </remarks>
            <returns>The UIDs of the appended messages, if available; otherwise an empty array.</returns>
            <param name="options">The formatting options.</param>
            <param name="messages">The array of messages to append to the folder.</param>
            <param name="flags">The message flags to use for each of the messages.</param>
            <param name="dates">The received dates to use for each of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="flags"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="dates"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="messages"/> is null.</para>
            <para>-or-</para>
            <para>The number of messages, flags, and dates do not match.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The <see cref="T:MailKit.MailFolder"/> does not exist.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Internationalized formatting was requested but has not been enabled.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.NotSupportedException">
            Internationalized formatting was requested but is not supported by the server.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CopyTo(MailKit.UniqueId,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified message to the destination folder.
            </summary>
            <remarks>
            Copies the specified message to the destination folder.
            </remarks>
            <returns>The UID of the message in the destination folder, if available; otherwise, <c>null</c>.</returns>
            <param name="uid">The UID of the message to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destination"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CopyToAsync(MailKit.UniqueId,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified message to the destination folder.
            </summary>
            <remarks>
            Asynchronously copies the specified message to the destination folder.
            </remarks>
            <returns>The UID of the message in the destination folder, if available; otherwise, <c>null</c>.</returns>
            <param name="uid">The UID of the message to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destination"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CopyTo(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Copies the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CopyToAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Asynchronously copies the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.MoveTo(MailKit.UniqueId,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified message to the destination folder.
            </summary>
            <remarks>
            Moves the specified message to the destination folder.
            </remarks>
            <returns>The UID of the message in the destination folder, if available; otherwise, <c>null</c>.</returns>
            <param name="uid">The UID of the message to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destination"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.MoveToAsync(MailKit.UniqueId,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified message to the destination folder.
            </summary>
            <remarks>
            Asynchronously moves the specified message to the destination folder.
            </remarks>
            <returns>The UID of the message in the destination folder, if available; otherwise, <c>null</c>.</returns>
            <param name="uid">The UID of the message to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destination"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.MoveTo(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified messages to the destination folder.
            </summary>
            <remarks>
            Moves the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.MoveToAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified messages to the destination folder.
            </summary>
            <remarks>
            Asynchronously moves the specified messages to the destination folder.
            </remarks>
            <returns>The UID mapping of the messages in the destination folder, if available; otherwise an empty mapping.</returns>
            <param name="uids">The UIDs of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support the UIDPLUS extension.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CopyTo(System.Int32,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified message to the destination folder.
            </summary>
            <remarks>
            Copies the specified message to the destination folder.
            </remarks>
            <param name="index">The index of the message to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destination"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> does not refer to a valid message index.
            </exception>
            <exception cref="T:System.ArgumentException">
            The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CopyToAsync(System.Int32,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified message to the destination folder.
            </summary>
            <remarks>
            Asynchronously copies the specified message to the destination folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The indexes of the message to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destination"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> does not refer to a valid message index.
            </exception>
            <exception cref="T:System.ArgumentException">
            The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CopyTo(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Copies the specified messages to the destination folder.
            </remarks>
            <param name="indexes">The indexes of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.CopyToAsync(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously copy the specified messages to the destination folder.
            </summary>
            <remarks>
            Asynchronously copies the specified messages to the destination folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages to copy.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.MoveTo(System.Int32,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified message to the destination folder.
            </summary>
            <remarks>
            Moves the specified message to the destination folder.
            </remarks>
            <param name="index">The index of the message to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destination"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> does not refer to a valid message index.
            </exception>
            <exception cref="T:System.ArgumentException">
            The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.MoveToAsync(System.Int32,MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified message to the destination folder.
            </summary>
            <remarks>
            Asynchronously moves the specified message to the destination folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="destination"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> does not refer to a valid message index.
            </exception>
            <exception cref="T:System.ArgumentException">
            The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.MoveTo(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Move the specified messages to the destination folder.
            </summary>
            <remarks>
            Moves the specified messages to the destination folder.
            </remarks>
            <param name="indexes">The indexes of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.MoveToAsync(System.Collections.Generic.IList{System.Int32},MailKit.IMailFolder,System.Threading.CancellationToken)">
            <summary>
            Asynchronously move the specified messages to the destination folder.
            </summary>
            <remarks>
            Asynchronously moves the specified messages to the destination folder.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages to move.</param>
            <param name="destination">The destination folder.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>The destination folder does not belong to the <see cref="T:MailKit.IMailStore"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            UIDs.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.IMailStore"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.IMailStore"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.IMailStore"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.IMailStore"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.IMailStore"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message UIDs that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message UIDs that
            have a higher mod-sequence value than the one specified.</para>
            <para>If the mail store supports quick resynchronization and the application has
            enabled this feature via <see cref="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)"/>,
            then this method will emit <see cref="E:MailKit.MailFolder.MessagesVanished"/> events for messages that
            have vanished since the specified mod-sequence value.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="uids">The UIDs.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.IMailStore"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes that have a
            higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes that have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="items"/> is empty.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes that have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the specified message indexes that
            have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the specified message
            indexes that have a higher mod-sequence value than the one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="indexes">The indexes.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="headers"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>One or more of the specified <paramref name="headers"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="items"/> is empty.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="items"/> is empty.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the specified <paramref name="headers"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes, inclusive.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes, inclusive.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the specified <paramref name="headers"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="items"/> is empty.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes
            (inclusive) that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes (inclusive) that have a higher mod-sequence value than the
            one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="items"/> is empty.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes
            (inclusive) that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes (inclusive) that have a higher mod-sequence value than the
            one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Fetch(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Fetch the message summaries for the messages between the two indexes (inclusive)
            that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Fetches the message summaries for the messages between the two
            indexes (inclusive) that have a higher mod-sequence value than the one
            specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the specified <paramref name="headers"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.FetchAsync(System.Int32,System.Int32,System.UInt64,MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{System.String},System.Threading.CancellationToken)">
            <summary>
            Asynchronously fetch the message summaries for the messages between the two indexes
            (inclusive) that have a higher mod-sequence value than the one specified.
            </summary>
            <remarks>
            <para>Asynchronously fetches the message summaries for the messages between
            the two indexes (inclusive) that have a higher mod-sequence value than the
            one specified.</para>
            <para>It should be noted that if another client has modified any message
            in the folder, the mail service may choose to return information that was
            not explicitly requested. It is therefore important to be prepared to
            handle both additional fields on a <see cref="T:MailKit.IMessageSummary"/> for
            messages that were requested as well as summaries for messages that were
            not requested at all.</para>
            </remarks>
            <returns>An enumeration of summaries for the requested messages.</returns>
            <param name="min">The minimum index.</param>
            <param name="max">The maximum index, or <c>-1</c> to specify no upper bound.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="items">The message summary items to fetch.</param>
            <param name="headers">The desired header fields.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="min"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="max"/> is out of range.</para>
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="headers"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the specified <paramref name="headers"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetHeaders(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message headers.
            </summary>
            <remarks>
            Gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetHeadersAsync(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message headers.
            </summary>
            <remarks>
            Asynchronously gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetHeaders(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetHeadersAsync(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part headers.
            </summary>
            <remarks>
            Asynchronously gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetHeaders(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message headers.
            </summary>
            <remarks>
            Gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetHeadersAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message headers.
            </summary>
            <remarks>
            Asynchronously gets the specified message headers.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetHeaders(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part headers.
            </summary>
            <remarks>
            Gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetHeadersAsync(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part headers.
            </summary>
            <remarks>
            Asynchronously gets the specified body part headers.
            </remarks>
            <returns>The body part headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested body part headers.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message.
            </summary>
            <remarks>
            Gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMessageAsync(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message.
            </summary>
            <remarks>
            Asynchronously gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified message.
            </summary>
            <remarks>
            Gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetMessageAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified message.
            </summary>
            <remarks>
            Asynchronously gets the specified message.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetBodyPart(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <returns>The body part.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message body.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetBodyPartAsync(MailKit.UniqueId,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part.
            </summary>
            <remarks>
            Asynchronously gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message body.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetBodyPart(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the specified body part.
            </summary>
            <remarks>
            Gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message body.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetBodyPartAsync(System.Int32,MailKit.BodyPart,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the specified body part.
            </summary>
            <remarks>
            Asynchronously gets the specified body part.
            </remarks>
            <returns>The body part.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The body part.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message body.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStream(MailKit.UniqueId,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            Gets a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStreamAsync(MailKit.UniqueId,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            Asynchronously gets a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStream(System.Int32,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            Gets a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStreamAsync(System.Int32,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            Asynchronously gets a substream of the message. If the starting offset is beyond
            the end of the message, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the message, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStream(MailKit.UniqueId,MailKit.BodyPart,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified body part.
            </summary>
            <remarks>
            Gets a substream of the body part. If the starting offset is beyond
            the end of the body part, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the body part, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The desired body part.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStreamAsync(MailKit.UniqueId,MailKit.BodyPart,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified body part.
            </summary>
            <remarks>
            Asynchronously gets a substream of the body part. If the starting offset is beyond
            the end of the body part, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the body part, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="part">The desired body part.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStream(System.Int32,MailKit.BodyPart,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified body part.
            </summary>
            <remarks>
            Gets a substream of the body part. If the starting offset is beyond
            the end of the body part, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the body part, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The desired body part.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStreamAsync(System.Int32,MailKit.BodyPart,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified body part.
            </summary>
            <remarks>
            Asynchronously gets a substream of the body part. If the starting offset is beyond
            the end of the body part, an empty stream is returned. If the number of
            bytes desired extends beyond the end of the body part, a truncated stream
            will be returned.
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="part">The desired body part.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="part"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStream(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStreamAsync(MailKit.UniqueId,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            <para>Asynchronously gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStream(MailKit.UniqueId,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message. If the starting offset is beyond
            the end of the specified section of the message, an empty stream is returned. If
            the number of bytes desired extends beyond the end of the section, a truncated
            stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStreamAsync(MailKit.UniqueId,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified message.
            </summary>
            <remarks>
            <para>Asynchronously gets a substream of the specified message. If the starting
            offset is beyond the end of the specified section of the message, an empty stream
            is returned. If the number of bytes desired extends beyond the end of the section,
            a truncated stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStream(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStreamAsync(System.Int32,System.String,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified body part.
            </summary>
            <remarks>
            <para>Asynchronously gets a substream of the specified message.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStream(System.Int32,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get a substream of the specified message.
            </summary>
            <remarks>
            <para>Gets a substream of the specified message. If the starting offset is beyond
            the end of the specified section of the message, an empty stream is returned. If
            the number of bytes desired extends beyond the end of the section, a truncated
            stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.GetStreamAsync(System.Int32,System.String,System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get a substream of the specified body part.
            </summary>
            <remarks>
            <para>Asynchronously gets a substream of the specified message. If the starting
            offset is beyond the end of the specified section of the message, an empty stream
            is returned. If the number of bytes desired extends beyond the end of the section,
            a truncated stream will be returned.</para>
            <para>For more information about how to construct the <paramref name="section"/>,
            see Section 6.4.5 of RFC3501.</para>
            </remarks>
            <returns>The stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="section">The desired section of the message.</param>
            <param name="offset">The starting offset of the first desired byte.</param>
            <param name="count">The number of bytes desired.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="section"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="index"/> is out of range.</para>
            <para>-or-</para>
            <para><paramref name="offset"/> is negative.</para>
            <para>-or-</para>
            <para><paramref name="count"/> is negative.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:MailKit.MessageNotFoundException">
            The <see cref="T:MailKit.IMailStore"/> did not return the requested message stream.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified message.
            </summary>
            <remarks>
            Adds a set of flags to the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified message.
            </summary>
            <remarks>
            Adds a set of flags to the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified message.
            </summary>
            <remarks>
            Removes a set of flags from the specified message.
            </remarks>
            <param name="uid">The UIDs of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified message.
            </summary>
            <remarks>
            Removes a set of flags from the specified message.
            </remarks>
            <param name="uid">The UIDs of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified message.
            </summary>
            <remarks>
            Sets the flags of the specified message.
            </remarks>
            <param name="uid">The UIDs of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified message.
            </summary>
            <remarks>
            Sets the flags of the specified message.
            </remarks>
            <param name="uid">The UIDs of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified message.
            </summary>
            <remarks>
            Adds a set of flags to the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified message.
            </summary>
            <remarks>
            Adds a set of flags to the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified message.
            </summary>
            <remarks>
            Removes a set of flags from the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified message.
            </summary>
            <remarks>
            Removes a set of flags from the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified message.
            </summary>
            <remarks>
            Sets the flags of the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Int32,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified message.
            </summary>
            <remarks>
            Sets the flags of the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages.
            </summary>
            <remarks>
            Sets the flags of the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of flags to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to add.</param>
            <param name="keywords">A set of user-defined flags to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of flags from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to remove.</param>
            <param name="keywords">A set of user-defined flags to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No flags were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlags(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetFlagsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the flags of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="flags">The message flags to set.</param>
            <param name="keywords">A set of user-defined flags to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabels(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified message.
            </summary>
            <remarks>
            Adds a set of labels to the specified message.
            </remarks>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabelsAsync(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabels(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified message.
            </summary>
            <remarks>
            Removes a set of labels from the specified message.
            </remarks>
            <param name="uid">The UIDs of the message.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabelsAsync(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uid"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabels(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified message.
            </summary>
            <remarks>
            Sets the labels of the specified message.
            </remarks>
            <param name="uid">The UIDs of the message.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabelsAsync(MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uid">The UID of the message.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages.
            </summary>
            <remarks>
            Sets the labels of the specified messages.
            </remarks>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabels(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabelsAsync(System.Collections.Generic.IList{MailKit.UniqueId},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The unique IDs of the messages that were not updated.</returns>
            <param name="uids">The UIDs of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="uids"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabels(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified message.
            </summary>
            <remarks>
            Adds a set of labels to the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabelsAsync(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified message.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabels(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified message.
            </summary>
            <remarks>
            Removes a set of labels from the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabelsAsync(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified message.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabels(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified message.
            </summary>
            <remarks>
            Sets the labels of the specified message.
            </remarks>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabelsAsync(System.Int32,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified message.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified message.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="index"/> is invalid.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabels(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages.
            </summary>
            <remarks>
            Sets the labels of the specified messages.
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabelsAsync(System.Collections.Generic.IList{System.Int32},System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified messages.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.AddLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously add a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously adds a set of labels to the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to add.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.RemoveLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously remove a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously removes a set of labels from the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to remove.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> is invalid.</para>
            <para>-or-</para>
            <para>No labels were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabels(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SetLabelsAsync(System.Collections.Generic.IList{System.Int32},System.UInt64,System.Collections.Generic.IList{System.String},System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously set the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </summary>
            <remarks>
            Asynchronously sets the labels of the specified messages only if their mod-sequence value is less than the specified value.
            </remarks>
            <returns>The indexes of the messages that were not updated.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="modseq">The mod-sequence value.</param>
            <param name="labels">The labels to set.</param>
            <param name="silent">If set to <c>true</c>, no <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> events will be emitted.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="indexes"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="labels"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the <paramref name="indexes"/> is invalid.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open in read-write mode.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The <see cref="T:MailKit.MailFolder"/> does not support mod-sequences.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Search(MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            One or more search terms in the <paramref name="query"/> are not supported by the mail store.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SearchAsync(MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs.</returns>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            One or more search terms in the <paramref name="query"/> are not supported by the mail store.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Search(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the subset of UIDs in the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            One or more search terms in the <paramref name="query"/> are not supported by the mail store.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SearchAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the subset of UIDs in the folder for messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            One or more search terms in the <paramref name="query"/> are not supported.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Search(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the folder for messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support the specified search options.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.MailFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SearchAsync(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the folder for messages matching the specified query.
            </summary>
            <remarks>
            Asynchronously searches the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support the specified search options.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.MailFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Search(MailKit.Search.SearchOptions,System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Search the subset of UIDs in the folder for messages matching the specified query.
            </summary>
            <remarks>
            Searches the fsubset of UIDs in the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support the specified search options.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SearchAsync(MailKit.Search.SearchOptions,System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously search the subset of UIDs in the folder for messages matching the specified query.
            </summary>
            <remarks>
            Asynchronously searches the fsubset of UIDs in the folder for messages matching the specified query,
            returning only the specified search results.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support the specified search options.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Sort(MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            /// <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="orderBy"/> is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support sorting search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SortAsync(MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="orderBy"/> is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support sorting search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Sort(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is empty.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support sorting search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SortAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            The returned array of unique identifiers will be sorted in the preferred order and
            can be used with <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of matching UIDs in the specified sort order.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is empty.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support sorting search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Sort(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query, returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="orderBy"/> is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support the specified search options.</para>
            <para>-or-</para>
            <para>The server does not support sorting search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.MailFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SortAsync(MailKit.Search.SearchOptions,MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query.
            </summary>
            <remarks>
            Asynchronously searches the folder for messages matching the specified query, returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="orderBy"/> is empty.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support the specified search options.</para>
            <para>-or-</para>
            <para>The server does not support sorting search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The <see cref="T:MailKit.MailFolder"/> is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Sort(MailKit.Search.SearchOptions,System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Sort messages matching the specified query.
            </summary>
            <remarks>
            Searches the folder for messages matching the specified query, returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is empty.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support the specified search options.</para>
            <para>-or-</para>
            <para>The server does not support sorting search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.SortAsync(MailKit.Search.SearchOptions,System.Collections.Generic.IList{MailKit.UniqueId},MailKit.Search.SearchQuery,System.Collections.Generic.IList{MailKit.Search.OrderBy},System.Threading.CancellationToken)">
            <summary>
            Asynchronously sort messages matching the specified query, returning the search results in the specified sort order.
            </summary>
            <remarks>
            Asynchronously searches the folder for messages matching the specified query,
            returning the search results in the specified sort order.
            </remarks>
            <returns>The search results.</returns>
            <param name="options">The search options.</param>
            <param name="uids">The subset of UIDs</param>
            <param name="query">The search query.</param>
            <param name="orderBy">The sort order.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is empty.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support the specified search options.</para>
            <para>-or-</para>
            <para>The server does not support sorting search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Thread(MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not supported.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support threading search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.ThreadAsync(MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not supported.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="query"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support threading search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.Thread(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not supported.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support threading search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.ThreadAsync(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.ThreadingAlgorithm,MailKit.Search.SearchQuery,System.Threading.CancellationToken)">
            <summary>
            Asynchronously thread the messages in the folder that match the search query using the specified threading algorithm.
            </summary>
            <remarks>
            The <see cref="P:MailKit.MessageThread.UniqueId"/> can be used with methods such as
            <see cref="M:MailKit.IMailFolder.GetMessage(MailKit.UniqueId,System.Threading.CancellationToken,MailKit.ITransferProgress)"/>.
            </remarks>
            <returns>An array of message threads.</returns>
            <param name="uids">The subset of UIDs</param>
            <param name="algorithm">The threading algorithm to use.</param>
            <param name="query">The search query.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not supported.
            </exception>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="uids"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="query"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="uids"/> is empty.</para>
            <para>-or-</para>
            <para>One or more of the <paramref name="uids"/> is invalid.</para>
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>One or more search terms in the <paramref name="query"/> are not supported.</para>
            <para>-or-</para>
            <para>The server does not support threading search results.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="E:MailKit.MailFolder.Opened">
            <summary>
            Occurs when the folder is opened.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.Opened"/> event is emitted when the folder is opened.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnOpened">
            <summary>
            Raise the opened event.
            </summary>
            <remarks>
            Raises the opened event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.Closed">
            <summary>
            Occurs when the folder is closed.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.Closed"/> event is emitted when the folder is closed.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnClosed">
            <summary>
            Raise the closed event.
            </summary>
            <remarks>
            Raises the closed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.Deleted">
            <summary>
            Occurs when the folder is deleted.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.Deleted"/> event is emitted when the folder is deleted.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnDeleted">
            <summary>
            Raise the deleted event.
            </summary>
            <remarks>
            Raises the deleted event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.Renamed">
            <summary>
            Occurs when the folder is renamed.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.Renamed"/> event is emitted when the folder is renamed.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnRenamed(System.String,System.String)">
            <summary>
            Raise the renamed event.
            </summary>
            <remarks>
            Raises the renamed event.
            </remarks>
            <param name="oldName">The old name of the folder.</param>
            <param name="newName">The new name of the folder.</param>
        </member>
        <member name="M:MailKit.MailFolder.OnParentFolderRenamed">
            <summary>
            Notifies the folder that a parent folder has been renamed.
            </summary>
            <remarks>
            <see cref="T:MailKit.IMailFolder"/> implementations should override this method
            to update their state (such as updating their <see cref="P:MailKit.MailFolder.FullName"/>
            property).
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.Subscribed">
            <summary>
            Occurs when the folder is subscribed.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.Subscribed"/> event is emitted when the folder is subscribed.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnSubscribed">
            <summary>
            Raise the subscribed event.
            </summary>
            <remarks>
            Raises the subscribed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.Unsubscribed">
            <summary>
            Occurs when the folder is unsubscribed.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.Unsubscribed"/> event is emitted when the folder is unsubscribed.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnUnsubscribed">
            <summary>
            Raise the unsubscribed event.
            </summary>
            <remarks>
            Raises the unsubscribed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.MessageExpunged">
            <summary>
            Occurs when a message is expunged from the folder.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.MessageExpunged"/> event is emitted when a message is expunged from the folder.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapIdleExample.cs"/>
            </example>
        </member>
        <member name="M:MailKit.MailFolder.OnMessageExpunged(MailKit.MessageEventArgs)">
            <summary>
            Raise the message expunged event.
            </summary>
            <remarks>
            Raises the message expunged event.
            </remarks>
            <param name="args">The message expunged event args.</param>
        </member>
        <member name="E:MailKit.MailFolder.MessagesVanished">
            <summary>
            Occurs when a message vanishes from the folder.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.MessagesVanished"/> event is emitted when messages vanish from the folder.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnMessagesVanished(MailKit.MessagesVanishedEventArgs)">
            <summary>
            Raise the messages vanished event.
            </summary>
            <remarks>
            Raises the messages vanished event.
            </remarks>
            <param name="args">The messages vanished event args.</param>
        </member>
        <member name="E:MailKit.MailFolder.MessageFlagsChanged">
            <summary>
            Occurs when flags changed on a message.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.MessageFlagsChanged"/> event is emitted when the flags for a message are changed.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapIdleExample.cs"/>
            </example>
        </member>
        <member name="M:MailKit.MailFolder.OnMessageFlagsChanged(MailKit.MessageFlagsChangedEventArgs)">
            <summary>
            Raise the message flags changed event.
            </summary>
            <remarks>
            Raises the message flags changed event.
            </remarks>
            <param name="args">The message flags changed event args.</param>
        </member>
        <member name="E:MailKit.MailFolder.MessageLabelsChanged">
            <summary>
            Occurs when labels changed on a message.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.MessageLabelsChanged"/> event is emitted when the labels for a message are changed.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnMessageLabelsChanged(MailKit.MessageLabelsChangedEventArgs)">
            <summary>
            Raise the message labels changed event.
            </summary>
            <remarks>
            Raises the message labels changed event.
            </remarks>
            <param name="args">The message labels changed event args.</param>
        </member>
        <member name="E:MailKit.MailFolder.MessageSummaryFetched">
            <summary>
            Occurs when a message summary is fetched from the folder.
            </summary>
            <remarks>
            <para>Emitted when a message summary is fetched from the folder.</para>
            <para>When multiple message summaries are being fetched from a remote folder,
            it is possible that the connection will drop or some other exception will
            occur, causing the Fetch method to fail and lose all of the data that has been
            downloaded up to that point, requiring the client to request the same set of
            message summaries all over again after it reconnects. This is obviously
            inefficient. To alleviate this potential problem, this event will be emitted
            as soon as the <see cref="T:MailKit.IMailFolder"/> successfully parses each untagged FETCH
            response from the server, allowing the client to commit this data immediately to
            its local cache.</para>
            <note type="note">Depending on the IMAP server, it is possible that the
            <see cref="E:MailKit.MailFolder.MessageSummaryFetched"/> event will be emitted for the same message
            multiple times if the IMAP server happens to split the requested fields into
            multiple untagged FETCH responses. Use the <see cref="P:MailKit.IMessageSummary.Fields"/>
            property to determine which f<see cref="T:MailKit.IMessageSummary"/> properties have
            been populated.</note>
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnMessageSummaryFetched(MailKit.IMessageSummary)">
            <summary>
            Raise the message summary fetched event.
            </summary>
            <remarks>
            <para>Raises the message summary fetched event.</para>
            <para>When multiple message summaries are being fetched from a remote folder,
            it is possible that the connection will drop or some other exception will
            occur, causing the Fetch method to fail and lose all of the data that has been
            downloaded up to that point, requiring the client to request the same set of
            message summaries all over again after it reconnects. This is obviously
            inefficient. To alleviate this potential problem, this event will be emitted
            as soon as the <see cref="T:MailKit.IMailFolder"/> successfully parses each untagged FETCH
            response from the server, allowing the client to commit this data immediately to
            its local cache.</para>
            <note type="note">Depending on the IMAP server, it is possible that
            <see cref="M:MailKit.MailFolder.OnMessageSummaryFetched(MailKit.IMessageSummary)"/> will be invoked for the same message
            multiple times if the IMAP server happens to split the requested fields into
            multiple untagged FETCH responses. Use the <see cref="P:MailKit.IMessageSummary.Fields"/>
            property to determine which f<see cref="T:MailKit.IMessageSummary"/> properties have
            been populated.</note>
            </remarks>
            <param name="message">The message summary.</param>
        </member>
        <member name="E:MailKit.MailFolder.MetadataChanged">
            <summary>
            Occurs when metadata changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.MetadataChanged"/> event is emitted when metadata changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnMetadataChanged(MailKit.Metadata)">
            <summary>
            Raise the metadata changed event.
            </summary>
            <remarks>
            Raises the metadata changed event.
            </remarks>
            <param name="metadata">The metadata that changed.</param>
        </member>
        <member name="E:MailKit.MailFolder.ModSeqChanged">
            <summary>
            Occurs when the mod-sequence changed on a message.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.ModSeqChanged"/> event is emitted when the mod-sequence for a message is changed.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnModSeqChanged(MailKit.ModSeqChangedEventArgs)">
            <summary>
            Raise the message mod-sequence changed event.
            </summary>
            <remarks>
            Raises the message mod-sequence changed event.
            </remarks>
            <param name="args">The mod-sequence changed event args.</param>
        </member>
        <member name="E:MailKit.MailFolder.HighestModSeqChanged">
            <summary>
            Occurs when the highest mod-sequence changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.HighestModSeqChanged"/> event is emitted whenever the <see cref="P:MailKit.MailFolder.HighestModSeq"/> value changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnHighestModSeqChanged">
            <summary>
            Raise the highest mod-sequence changed event.
            </summary>
            <remarks>
            Raises the highest mod-sequence changed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.UidNextChanged">
            <summary>
            Occurs when the next UID changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.UidNextChanged"/> event is emitted whenever the <see cref="P:MailKit.MailFolder.UidNext"/> value changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnUidNextChanged">
            <summary>
            Raise the next UID changed event.
            </summary>
            <remarks>
            Raises the next UID changed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.UidValidityChanged">
            <summary>
            Occurs when the UID validity changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.UidValidityChanged"/> event is emitted whenever the <see cref="P:MailKit.MailFolder.UidValidity"/> value changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnUidValidityChanged">
            <summary>
            Raise the uid validity changed event.
            </summary>
            <remarks>
            Raises the uid validity changed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.IdChanged">
            <summary>
            Occurs when the folder ID changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.IdChanged"/> event is emitted whenever the <see cref="P:MailKit.MailFolder.Id"/> value changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnIdChanged">
            <summary>
            Raise the ID changed event.
            </summary>
            <remarks>
            Raises the ID changed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.SizeChanged">
            <summary>
            Occurs when the folder size changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.SizeChanged"/> event is emitted whenever the <see cref="P:MailKit.MailFolder.Size"/> value changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnSizeChanged">
            <summary>
            Raise the size changed event.
            </summary>
            <remarks>
            Raises the size changed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.CountChanged">
            <summary>
            Occurs when the message count changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.CountChanged"/> event is emitted whenever the <see cref="P:MailKit.MailFolder.Count"/> value changes.
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapIdleExample.cs"/>
            </example>
        </member>
        <member name="M:MailKit.MailFolder.OnCountChanged">
            <summary>
            Raise the message count changed event.
            </summary>
            <remarks>
            Raises the message count changed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.RecentChanged">
            <summary>
            Occurs when the recent message count changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.RecentChanged"/> event is emitted whenever the <see cref="P:MailKit.MailFolder.Recent"/> value changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnRecentChanged">
            <summary>
            Raise the recent message count changed event.
            </summary>
            <remarks>
            Raises the recent message count changed event.
            </remarks>
        </member>
        <member name="E:MailKit.MailFolder.UnreadChanged">
            <summary>
            Occurs when the unread message count changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailFolder.UnreadChanged"/> event is emitted whenever the <see cref="P:MailKit.MailFolder.Unread"/> value changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.OnUnreadChanged">
            <summary>
            Raise the unread message count changed event.
            </summary>
            <remarks>
            Raises the unread message count changed event.
            </remarks>
        </member>
        <member name="M:MailKit.MailFolder.GetEnumerator">
            <summary>
            Get an enumerator for the messages in the folder.
            </summary>
            <remarks>
            Gets an enumerator for the messages in the folder.
            </remarks>
            <returns>The enumerator.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the messages in the folder.
            </summary>
            <remarks>
            Gets an enumerator for the messages in the folder.
            </remarks>
            <returns>The enumerator.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotOpenException">
            The folder is not currently open.
            </exception>
        </member>
        <member name="M:MailKit.MailFolder.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.MailFolder"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.MailFolder"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.MailFolder"/>.</returns>
        </member>
        <member name="T:MailKit.MailService">
            <summary>
            An abstract mail service implementation.
            </summary>
            <remarks>
            An abstract mail service implementation.
            </remarks>
        </member>
        <member name="M:MailKit.MailService.#ctor(MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MailService"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.MailService"/> class.
            </remarks>
            <param name="protocolLogger">The protocol logger.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocolLogger"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.MailService.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MailService"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.MailService"/> class.
            </remarks>
        </member>
        <member name="M:MailKit.MailService.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MailKit.MailService"/> is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:MailKit.MailService"/> is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="P:MailKit.MailService.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the service.
            </summary>
            <remarks>
            <para>Gets an object that can be used to synchronize access to the service.</para>
            </remarks>
            <value>The sync root.</value>
        </member>
        <member name="P:MailKit.MailService.Protocol">
            <summary>
            Gets the protocol supported by the message service.
            </summary>
            <remarks>
            Gets the protocol supported by the message service.
            </remarks>
            <value>The protocol.</value>
        </member>
        <member name="P:MailKit.MailService.ProtocolLogger">
            <summary>
            Get the protocol logger.
            </summary>
            <remarks>
            Gets the protocol logger.
            </remarks>
            <value>The protocol logger.</value>
        </member>
        <member name="P:MailKit.MailService.SslProtocols">
            <summary>
            Gets or sets the SSL and TLS protocol versions that the client is allowed to use.
            </summary>
            <remarks>
            <para>Gets or sets the SSL and TLS protocol versions that the client is allowed to use.</para>
            <para>By default, MailKit initializes this value to support only TLS v1.0 and greater and
            does not support any version of SSL due to those protocols no longer being considered
            secure.</para>
            <para>This property should be set before calling any of the
            <a href="Overload_MailKit_MailService_Connect.htm">Connect</a> methods.</para>
            </remarks>
            <value>The SSL and TLS protocol versions that are supported.</value>
        </member>
        <member name="P:MailKit.MailService.ClientCertificates">
            <summary>
            Gets or sets the client SSL certificates.
            </summary>
            <remarks>
            <para>Some servers may require the client SSL certificates in order
            to allow the user to connect.</para>
            <para>This property should be set before calling any of the
            <a href="Overload_MailKit_MailService_Connect.htm">Connect</a> methods.</para>
            </remarks>
            <value>The client SSL certificates.</value>
        </member>
        <member name="P:MailKit.MailService.CheckCertificateRevocation">
            <summary>
            Get or set whether connecting via SSL/TLS should check certificate revocation.
            </summary>
            <remarks>
            Gets or sets whether connecting via SSL/TLS should check certificate revocation.
            </remarks>
            <value><c>true</c> if certificate revocation should be checked; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailService.ServerCertificateValidationCallback">
            <summary>
            Get or sets a callback function to validate the server certificate.
            </summary>
            <remarks>
            <para>Gets or sets a callback function to validate the server certificate.</para>
            <para>This property should be set before calling any of the
            <a href="Overload_MailKit_MailService_Connect.htm">Connect</a> methods.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\InvalidSslCertificate.cs" region="Simple"/>
            </example>
            <value>The server certificate validation callback function.</value>
        </member>
        <member name="P:MailKit.MailService.LocalEndPoint">
            <summary>
            Get or set the local IP end point to use when connecting to the remote host.
            </summary>
            <remarks>
            Gets or sets the local IP end point to use when connecting to the remote host.
            </remarks>
            <value>The local IP end point or <c>null</c> to use the default end point.</value>
        </member>
        <member name="P:MailKit.MailService.ProxyClient">
            <summary>
            Get or set the proxy client to use when connecting to a remote host.
            </summary>
            <remarks>
            Gets or sets the proxy client to use when connecting to a remote host via any of the
            <a href="Overload_MailKit_MailService_Connect.htm">Connect</a> methods.
            </remarks>
            <value>The proxy client.</value>
        </member>
        <member name="P:MailKit.MailService.AuthenticationMechanisms">
            <summary>
            Gets the authentication mechanisms supported by the mail server.
            </summary>
            <remarks>
            The authentication mechanisms are queried as part of the
            <a href="Overload_MailKit_MailService_Connect.htm">Connect</a> method.
            </remarks>
            <value>The authentication mechanisms.</value>
        </member>
        <member name="P:MailKit.MailService.IsConnected">
             <summary>
             Gets whether or not the client is currently connected to an mail server.
             </summary>
             <remarks>
            <para>The <see cref="P:MailKit.MailService.IsConnected"/> state is set to <c>true</c> immediately after
             one of the <a href="Overload_MailKit_MailService_Connect.htm">Connect</a>
             methods succeeds and is not set back to <c>false</c> until either the client
             is disconnected via <see cref="M:MailKit.MailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/> or until a
             <see cref="T:MailKit.ProtocolException"/> is thrown while attempting to read or write to
             the underlying network socket.</para>
             <para>When an <see cref="T:MailKit.ProtocolException"/> is caught, the connection state of the
             <see cref="T:MailKit.MailService"/> should be checked before continuing.</para>
             </remarks>
             <value><c>true</c> if the client is connected; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailService.IsSecure">
            <summary>
            Get whether or not the connection is secure (typically via SSL or TLS).
            </summary>
            <remarks>
            Gets whether or not the connection is secure (typically via SSL or TLS).
            </remarks>
            <value><c>true</c> if the connection is secure; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailService.IsAuthenticated">
            <summary>
            Get whether or not the client is currently authenticated with the mail server.
            </summary>
            <remarks>
            <para>Gets whether or not the client is currently authenticated with the mail server.</para>
            <para>To authenticate with the mail server, use one of the
            <a href="Overload_MailKit_MailService_Authenticate.htm">Authenticate</a> methods
            or any of the Async alternatives.</para>
            </remarks>
            <value><c>true</c> if the client is authenticated; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailService.Timeout">
            <summary>
            Gets or sets the timeout for network streaming operations, in milliseconds.
            </summary>
            <remarks>
            Gets or sets the underlying socket stream's <see cref="P:System.IO.Stream.ReadTimeout"/>
            and <see cref="P:System.IO.Stream.WriteTimeout"/> values.
            </remarks>
            <value>The timeout in milliseconds.</value>
        </member>
        <member name="M:MailKit.MailService.DefaultServerCertificateValidationCallback(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
            <summary>
            The default server certificate validation callback used when connecting via SSL or TLS.
            </summary>
            <remarks>
            <para>The default server certificate validation callback considers self-signed certificates to be
            valid so long as the only error in the certificate chain is an untrusted root.</para>
            <note type="security">It should be noted that self-signed certificates may be an indication of
            a man-in-the-middle (MITM) attack and so it is recommended that the client implement a custom
            server certificate validation callback that presents the certificate to the user in some way,
            allowing the user to confirm or deny its validity.</note>
            </remarks>
            <returns><c>true</c> if the certificate is deemed valid; otherwise, <c>false</c>.</returns>
            <param name="sender">The object that is connecting via SSL or TLS.</param>
            <param name="certificate">The server's SSL certificate.</param>
            <param name="chain">The server's SSL certificate chain.</param>
            <param name="sslPolicyErrors">The SSL policy errors.</param>
        </member>
        <member name="M:MailKit.MailService.Connect(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server.
            </summary>
            <remarks>
            Establishes a connection to the specified mail server.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.ConnectAsync(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server.
            </summary>
            <remarks>
            Asynchronously establishes a connection to the specified mail server.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Connect(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server using the provided socket.
            </summary>
            <remarks>
            <para>Establish a connection to the specified mail server using the provided socket.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.MailService.ConnectAsync(System.Net.Sockets.Socket,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server using the provided socket.
            </summary>
            <remarks>
            <para>Asynchronously establishes a connection to the specified mail server using the provided socket.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="socket">The socket to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="socket"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="socket"/> is not connected.</para>
            <para>-or-</para>
            <para>The <paramref name="host"/> is a zero-length string.</para>
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Connect(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server using the provided stream.
            </summary>
            <remarks>
            <para>Establish a connection to the specified mail server using the provided stream.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.MailService.ConnectAsync(System.IO.Stream,System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server using the provided stream.
            </summary>
            <remarks>
            <para>Asynchronously establishes a connection to the specified mail server using the provided stream.</para>
            <para>If a successful connection is made, the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/>
            property will be populated.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="stream">The stream to use for the connection.</param>
            <param name="host">The host name to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="options">The secure socket options to when connecting.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="stream"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="host"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is not between <c>0</c> and <c>65535</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.IMailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Connect(System.Uri,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server.
            </summary>
            <remarks>
            Establishes a connection to the specified mail server.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessageUri"/>
            </example>
            <param name="uri">The server URI.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="uri"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="uri"/> is not an absolute URI.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.ConnectAsync(System.Uri,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server.
            </summary>
            <remarks>
            Asynchronously establishes a connection to the specified mail server.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="uri">The server URI.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="uri"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="uri"/> is not an absolute URI.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Connect(System.String,System.Int32,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Establish a connection to the specified mail server.
            </summary>
            <remarks>
            <para>Establishes a connection to the specified mail server.</para>
            <note type="note">
            <para>The <paramref name="useSsl"/> argument only controls whether or
            not the client makes an SSL-wrapped connection. In other words, even if the
            <paramref name="useSsl"/> parameter is <c>false</c>, SSL/TLS may still be used if
            the mail server supports the STARTTLS extension.</para>
            <para>To disable all use of SSL/TLS, use the
            <see cref="M:MailKit.MailService.Connect(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)"/>
            overload with a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.None">SecureSocketOptions.None</see>
            instead.</para>
            </note>
            </remarks>
            <param name="host">The host to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="useSsl"><value>true</value> if the client should make an SSL-wrapped connection to the server; otherwise, <value>false</value>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is out of range (<value>0</value> to <value>65535</value>, inclusive).
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.ConnectAsync(System.String,System.Int32,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously establish a connection to the specified mail server.
            </summary>
            <remarks>
            <para>Asynchronously establishes a connection to the specified mail server.</para>
            <note type="note">
            <para>The <paramref name="useSsl"/> argument only controls whether or
            not the client makes an SSL-wrapped connection. In other words, even if the
            <paramref name="useSsl"/> parameter is <c>false</c>, SSL/TLS may still be used if
            the mail server supports the STARTTLS extension.</para>
            <para>To disable all use of SSL/TLS, use the
            <see cref="M:MailKit.MailService.ConnectAsync(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Threading.CancellationToken)"/>
            overload with a value of
            <see cref="F:MailKit.Security.SecureSocketOptions.None">SecureSocketOptions.None</see>
            instead.</para>
            </note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="host">The host to connect to.</param>
            <param name="port">The port to connect to. If the specified port is <c>0</c>, then the default port will be used.</param>
            <param name="useSsl"><value>true</value> if the client should make an SSL-wrapped connection to the server; otherwise, <value>false</value>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            The <paramref name="host"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="port"/> is out of range (<value>0</value> to <value>65535</value>, inclusive).
            </exception>
            <exception cref="T:System.ArgumentException">
            The <paramref name="host"/> is a zero-length string.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is already connected.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.Net.Sockets.SocketException">
            A socket error occurred trying to connect to the remote host.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Authenticate(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.AuthenticateAsync(System.Text.Encoding,System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="credentials"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Authenticate(System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.AuthenticateAsync(System.Net.ICredentials,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the supplied credentials.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="credentials">The user's credentials.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="credentials"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Authenticate(System.Text.Encoding,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified user name and password.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.AuthenticateAsync(System.Text.Encoding,System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified user name and password.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="encoding">The encoding to use for the user's credentials.</param>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="encoding"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Authenticate(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified user name and password.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.AuthenticateAsync(System.String,System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified user name and password.
            </summary>
            <remarks>
            <para>If the server supports one or more SASL authentication mechanisms,
            then the SASL mechanisms that both the client and server support are tried
            in order of greatest security to weakest security. Once a SASL
            authentication mechanism is found that both client and server support,
            the credentials are used to authenticate.</para>
            <para>If the server does not support SASL or if no common SASL mechanisms
            can be found, then the default login command is used as a fallback.</para>
            <note type="tip">To prevent the usage of certain authentication mechanisms,
            simply remove them from the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> hash set
            before calling this method.</note>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="userName">The user name.</param>
            <param name="password">The password.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="userName"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="password"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Authenticate(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.AuthenticateAsync(MailKit.Security.SaslMechanism,System.Threading.CancellationToken)">
            <summary>
            Asynchronously authenticate using the specified SASL mechanism.
            </summary>
            <remarks>
            <para>Authenticates using the specified SASL mechanism.</para>
            <para>For a list of available SASL authentication mechanisms supported by the server,
            check the <see cref="P:MailKit.MailService.AuthenticationMechanisms"/> property after the service has been
            connected.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="mechanism">The SASL mechanism.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="mechanism"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailService"/> is not connected or is already authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.Security.AuthenticationException">
            Authentication using the supplied credentials has failed.
            </exception>
            <exception cref="T:MailKit.Security.SaslException">
            A SASL authentication error occurred.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailService.Disconnect(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Disconnect the service.
            </summary>
            <remarks>
            If <paramref name="quit"/> is <c>true</c>, a logout/quit command will be issued in order to disconnect cleanly.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <param name="quit">If set to <c>true</c>, a logout/quit command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.MailService.DisconnectAsync(System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously disconnect the service.
            </summary>
            <remarks>
            If <paramref name="quit"/> is <c>true</c>, a logout/quit command will be issued in order to disconnect cleanly.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="quit">If set to <c>true</c>, a logout/quit command will be issued in order to disconnect cleanly.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
        </member>
        <member name="M:MailKit.MailService.NoOp(System.Threading.CancellationToken)">
            <summary>
            Ping the mail server to keep the connection alive.
            </summary>
            <remarks>
            Mail servers, if left idle for too long, will automatically drop the connection.
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="T:MailKit.MailService"/> is not connected.</para>
            <para>-or-</para>
            <para>The <see cref="T:MailKit.MailService"/> is not authenticated.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="M:MailKit.MailService.NoOpAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously ping the mail server to keep the connection alive.
            </summary>
            <remarks>
            Mail servers, if left idle for too long, will automatically drop the connection.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailService"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>The <see cref="T:MailKit.MailService"/> is not connected.</para>
            <para>-or-</para>
            <para>The <see cref="T:MailKit.MailService"/> is not authenticated.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command was rejected by the mail server.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server responded with an unexpected token.
            </exception>
        </member>
        <member name="E:MailKit.MailService.Connected">
            <summary>
            Occurs when the client has been successfully connected.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailService.Connected"/> event is raised when the client
            successfully connects to the mail server.
            </remarks>
        </member>
        <member name="M:MailKit.MailService.OnConnected(System.String,System.Int32,MailKit.Security.SecureSocketOptions)">
            <summary>
            Raise the connected event.
            </summary>
            <remarks>
            Raises the connected event.
            </remarks>
            <param name="host">The name of the host that the client connected to.</param>
            <param name="port">The port that the client connected to on the remote host.</param>
            <param name="options">The SSL/TLS options that were used when connecting.</param>
        </member>
        <member name="E:MailKit.MailService.Disconnected">
            <summary>
            Occurs when the client gets disconnected.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailService.Disconnected"/> event is raised whenever the client
            gets disconnected.
            </remarks>
        </member>
        <member name="M:MailKit.MailService.OnDisconnected(System.String,System.Int32,MailKit.Security.SecureSocketOptions,System.Boolean)">
            <summary>
            Raise the disconnected event.
            </summary>
            <remarks>
            Raises the disconnected event.
            </remarks>
            <param name="host">The name of the host that the client was connected to.</param>
            <param name="port">The port that the client was connected to on the remote host.</param>
            <param name="options">The SSL/TLS options that were used by the client.</param>
            <param name="requested"><c>true</c> if the disconnect was explicitly requested; otherwise, <c>false</c>.</param>
        </member>
        <member name="E:MailKit.MailService.Authenticated">
            <summary>
            Occurs when the client has been successfully authenticated.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailService.Authenticated"/> event is raised whenever the client
            has been authenticated.
            </remarks>
        </member>
        <member name="M:MailKit.MailService.OnAuthenticated(System.String)">
            <summary>
            Raise the authenticated event.
            </summary>
            <remarks>
            Raises the authenticated event.
            </remarks>
            <param name="message">The notification sent by the server when the client successfully authenticates.</param>
        </member>
        <member name="M:MailKit.MailService.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.MailService"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MailKit.MailService"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MailKit.MailService.Dispose">
            <summary>
            Releases all resource used by the <see cref="T:MailKit.MailService"/> object.
            </summary>
            <remarks>Call <see cref="M:MailKit.MailService.Dispose"/> when you are finished using the <see cref="T:MailKit.MailService"/>. The
            <see cref="M:MailKit.MailService.Dispose"/> method leaves the <see cref="T:MailKit.MailService"/> in an unusable state. After
            calling <see cref="M:MailKit.MailService.Dispose"/>, you must release all references to the <see cref="T:MailKit.MailService"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MailKit.MailService"/> was occupying.</remarks>
        </member>
        <member name="T:MailKit.MailSpool">
            <summary>
            An abstract mail spool implementation.
            </summary>
            <remarks>
            An abstract mail spool implementation.
            </remarks>
        </member>
        <member name="M:MailKit.MailSpool.#ctor(MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MailSpool"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.MailSpool"/> class.
            </remarks>
            <param name="protocolLogger">The protocol logger.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocolLogger"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.MailSpool.Count">
            <summary>
            Get the number of messages available in the message spool.
            </summary>
            <remarks>
            <para>Gets the number of messages available in the message spool.</para>
            <para>Once authenticated, the <see cref="P:MailKit.MailSpool.Count"/> property will be set
            to the number of available messages in the spool.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <value>The message count.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
        </member>
        <member name="P:MailKit.MailSpool.SupportsUids">
            <summary>
            Get whether or not the service supports referencing messages by UIDs.
            </summary>
            <remarks>
            <para>Not all servers support referencing messages by UID, so this property should
            be checked before using <see cref="M:MailKit.MailSpool.GetMessageUid(System.Int32,System.Threading.CancellationToken)"/>
            and <see cref="M:MailKit.MailSpool.GetMessageUids(System.Threading.CancellationToken)"/>.</para>
            <para>If the server does not support UIDs, then all methods that take UID arguments
            along with <see cref="M:MailKit.MailSpool.GetMessageUid(System.Int32,System.Threading.CancellationToken)"/> and
            <see cref="M:MailKit.MailSpool.GetMessageUids(System.Threading.CancellationToken)"/> will fail.</para>
            </remarks>
            <value><c>true</c> if supports uids; otherwise, <c>false</c>.</value>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageUid(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the UID of the message at the specified index.
            </summary>
            <remarks>
            Not all servers support UIDs, so you should first check
            the <see cref="P:MailKit.MailSpool.SupportsUids"/> property.
            </remarks>
            <returns>The message UID.</returns>
            <param name="index">The message index.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail spool does not support UIDs.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageUidAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the UID of the message at the specified index.
            </summary>
            <remarks>
            Not all servers support UIDs, so you should first check
            the <see cref="P:MailKit.MailSpool.SupportsUids"/> property.
            </remarks>
            <returns>The message UID.</returns>
            <param name="index">The message index.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail spool does not support UIDs.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageUids(System.Threading.CancellationToken)">
            <summary>
            Get the full list of available message UIDs.
            </summary>
            <remarks>
            Not all servers support UIDs, so you should first check
            the <see cref="P:MailKit.MailSpool.SupportsUids"/> property.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadNewMessages"/>
            </example>
            <returns>The message uids.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail spool does not support UIDs.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageUidsAsync(System.Threading.CancellationToken)">
            <summary>
            Get the full list of available message UIDs.
            </summary>
            <remarks>
            Not all servers support UIDs, so you should first check
            the <see cref="P:MailKit.MailSpool.SupportsUids"/> property.
            </remarks>
            <returns>The message uids.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail spool does not support UIDs.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageSize(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the size of the specified message, in bytes.
            </summary>
            <remarks>
            Gets the size of the specified message, in bytes.
            </remarks>
            <returns>The message size, in bytes.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageSizeAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the size of the specified message, in bytes.
            </summary>
            <remarks>
            Asynchronously gets the size of the specified message, in bytes.
            </remarks>
            <returns>The message size, in bytes.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageSizes(System.Threading.CancellationToken)">
            <summary>
            Get the sizes for all available messages, in bytes.
            </summary>
            <remarks>
            Gets the sizes for all available messages, in bytes.
            </remarks>
            <returns>The message sizes, in bytes.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageSizesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the sizes for all available messages, in bytes.
            </summary>
            <remarks>
            Asynchronously gets the sizes for all available messages, in bytes.
            </remarks>
            <returns>The message sizes, in bytes.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageHeaders(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the headers for the specified message.
            </summary>
            <remarks>
            Gets the headers for the specified message.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageHeadersAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the headers for the specified message.
            </summary>
            <remarks>
            Asynchronously gets the headers for the specified message.
            </remarks>
            <returns>The message headers.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageHeaders(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Get the headers for the specified messages.
            </summary>
            <remarks>
            Gets the headers for the specified messages.
            </remarks>
            <returns>The headers for the specified messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> are invalid.</para>
            <para>-or-</para>
            <para>No indexes were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageHeadersAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the headers for the specified messages.
            </summary>
            <remarks>
            Asynchronously gets the headers for the specified messages.
            </remarks>
            <returns>The headers for the specified messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> are invalid.</para>
            <para>-or-</para>
            <para>No indexes were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageHeaders(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the headers of the messages within the specified range.
            </summary>
            <remarks>
            Gets the headers of the messages within the specified range.
            </remarks>
            <returns>The headers of the messages within the specified range.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageHeadersAsync(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Get the headers of the messages within the specified range.
            </summary>
            <remarks>
            Gets the headers of the messages within the specified range.
            </remarks>
            <returns>The headers of the messages within the specified range.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessage(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message at the specified index.
            </summary>
            <remarks>
            Gets the message at the specified index.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessageAsync(System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message at the specified index.
            </summary>
            <remarks>
            Asynchronously gets the message at the specified index.
            </remarks>
            <returns>The message.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessages(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the messages at the specified indexes.
            </summary>
            <remarks>
            Get the messages at the specified indexes.
            </remarks>
            <returns>The messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> are invalid.</para>
            <para>-or-</para>
            <para>No indexes were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessagesAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the messages at the specified indexes.
            </summary>
            <remarks>
            Asynchronously get the messages at the specified indexes.
            </remarks>
            <returns>The messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> are invalid.</para>
            <para>-or-</para>
            <para>No indexes were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessages(System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the messages within the specified range.
            </summary>
            <remarks>
            Gets the messages within the specified range.
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="BatchDownloadMessages"/>
            </example>
            <returns>The messages.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetMessagesAsync(System.Int32,System.Int32,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the messages within the specified range.
            </summary>
            <remarks>
            Asynchronously gets the messages within the specified range.
            </remarks>
            <returns>The messages.</returns>
            <param name="startIndex">The index of the first message to get.</param>
            <param name="count">The number of messages to get.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header stream at the specified index.
            </summary>
            <remarks>
            Gets the message or header stream at the specified index.
            </remarks>
            <returns>The message or header stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetStreamAsync(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header stream at the specified index.
            </summary>
            <remarks>
            Asynchronously gets the message or header stream at the specified index.
            </remarks>
            <returns>The message or header stream.</returns>
            <param name="index">The index of the message.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetStreams(System.Collections.Generic.IList{System.Int32},System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header streams at the specified indexes.
            </summary>
            <remarks>
            <para>Get the message or header streams at the specified indexes.</para>
            <para>If the mail server supports pipelining, this method will likely be more
            efficient than using <see cref="M:MailKit.MailSpool.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for
            each message because it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> are invalid.</para>
            <para>-or-</para>
            <para>No indexes were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetStreamsAsync(System.Collections.Generic.IList{System.Int32},System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header streams at the specified indexes.
            </summary>
            <remarks>
            Asynchronously get the message or header streams at the specified indexes.
            </remarks>
            <returns>The messages.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> are invalid.</para>
            <para>-or-</para>
            <para>No indexes were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetStreams(System.Int32,System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Get the message or header streams within the specified range.
            </summary>
            <remarks>
            <para>Gets the message or header streams within the specified range.</para>
            <para>If the mail server supports pipelining, this method will likely be more
            efficient than using <see cref="M:MailKit.MailSpool.GetStream(System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)"/> for
            each message because it will batch the commands to reduce latency.</para>
            </remarks>
            <returns>The message or header streams.</returns>
            <param name="startIndex">The index of the first stream to get.</param>
            <param name="count">The number of streams to get.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetStreamsAsync(System.Int32,System.Int32,System.Boolean,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously get the message or header streams within the specified range.
            </summary>
            <remarks>
            Asynchronously gets the message or header streams within the specified range.
            </remarks>
            <returns>The messages.</returns>
            <param name="startIndex">The index of the first stream to get.</param>
            <param name="count">The number of streams to get.</param>
            <param name="headersOnly"><c>true</c> if only the headers should be retrieved; otherwise, <c>false</c>.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.DeleteMessage(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Mark the specified message for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.MailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="DownloadMessages"/>
            </example>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.DeleteMessageAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified message for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.MailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="index">The index of the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is not a valid message index.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.DeleteMessages(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Mark the specified messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.MailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> are invalid.</para>
            <para>-or-</para>
            <para>No indexes were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.DeleteMessagesAsync(System.Collections.Generic.IList{System.Int32},System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.MailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="indexes">The indexes of the messages.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="indexes"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para>One or more of the <paramref name="indexes"/> are invalid.</para>
            <para>-or-</para>
            <para>No indexes were specified.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.DeleteMessages(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Mark the specified range of messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.MailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <example>
            <code language="c#" source="Examples\Pop3Examples.cs" region="BatchDownloadMessages"/>
            </example>
            <param name="startIndex">The index of the first message to mark for deletion.</param>
            <param name="count">The number of messages to mark for deletion.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.DeleteMessagesAsync(System.Int32,System.Int32,System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark the specified range of messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.MailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="startIndex">The index of the first message to mark for deletion.</param>
            <param name="count">The number of messages to mark for deletion.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> and <paramref name="count"/> do not specify
            a valid range of messages.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.DeleteAllMessages(System.Threading.CancellationToken)">
            <summary>
            Mark all messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.DeleteAllMessagesAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously mark all messages for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.Reset(System.Threading.CancellationToken)">
            <summary>
            Reset the state of all messages marked for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.ResetAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously reset the state of all messages marked for deletion.
            </summary>
            <remarks>
            Messages marked for deletion are not actually deleted until the session
            is cleanly disconnected
            (see <see cref="M:MailKit.IMailService.Disconnect(System.Boolean,System.Threading.CancellationToken)"/>).
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.GetEnumerator">
            <summary>
            Get an enumerator for the messages in the folder.
            </summary>
            <remarks>
            Gets an enumerator for the messages in the folder.
            </remarks>
            <returns>The enumerator.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            A command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailSpool.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Get an enumerator for the messages in the folder.
            </summary>
            <remarks>
            Gets an enumerator for the messages in the folder.
            </remarks>
            <returns>The enumerator.</returns>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailSpool"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailSpool"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailSpool"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            A command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
        </member>
        <member name="T:MailKit.MailStore">
            <summary>
            An abstract mail store implementation.
            </summary>
            <remarks>
            An abstract mail store implementation.
            </remarks>
        </member>
        <member name="M:MailKit.MailStore.#ctor(MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MailStore"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.MailStore"/> class.
            </remarks>
            <param name="protocolLogger">The protocol logger.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocolLogger"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.MailStore.PersonalNamespaces">
            <summary>
            Gets the personal namespaces.
            </summary>
            <remarks>
            The personal folder namespaces contain a user's personal mailbox folders.
            </remarks>
            <value>The personal namespaces.</value>
        </member>
        <member name="P:MailKit.MailStore.SharedNamespaces">
            <summary>
            Gets the shared namespaces.
            </summary>
            <remarks>
            The shared folder namespaces contain mailbox folders that are shared with the user.
            </remarks>
            <value>The shared namespaces.</value>
        </member>
        <member name="P:MailKit.MailStore.OtherNamespaces">
            <summary>
            Gets the other namespaces.
            </summary>
            <remarks>
            The other folder namespaces contain other mailbox folders.
            </remarks>
            <value>The other namespaces.</value>
        </member>
        <member name="P:MailKit.MailStore.SupportsQuotas">
            <summary>
            Get whether or not the mail store supports quotas.
            </summary>
            <remarks>
            Gets whether or not the mail store supports quotas.
            </remarks>
            <value><c>true</c> if the mail store supports quotas; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MailStore.Inbox">
            <summary>
            Get the Inbox folder.
            </summary>
            <remarks>
            <para>The Inbox folder is the default folder and always exists on the mail store.</para>
            <note type="note">This property will only be available after the client has been authenticated.</note>
            </remarks>
            <value>The Inbox folder.</value>
        </member>
        <member name="M:MailKit.MailStore.EnableQuickResync(System.Threading.CancellationToken)">
            <summary>
            Enable the quick resynchronization feature.
            </summary>
            <remarks>
            <para>Enables quick resynchronization when a folder is opened using the
            <see cref="M:MailKit.MailFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)"/>
            method.</para>
            <para>If this feature is enabled, the <see cref="E:MailKit.MailFolder.MessageExpunged"/> event is replaced
            with the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event.</para>
            <para>This method needs to be called immediately after calling one of the
            <a href="Overload_MailKit_MailService_Authenticate.htm">Authenticate</a> methods, before
            opening any folders.</para>
            </remarks>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Quick resynchronization needs to be enabled before selecting a folder.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support quick resynchronization.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.EnableQuickResyncAsync(System.Threading.CancellationToken)">
            <summary>
            Asynchronously enable the quick resynchronization feature.
            </summary>
            <remarks>
            <para>Enables quick resynchronization when a folder is opened using the
            <see cref="M:MailKit.MailFolder.Open(MailKit.FolderAccess,System.UInt32,System.UInt64,System.Collections.Generic.IList{MailKit.UniqueId},System.Threading.CancellationToken)"/>
            method.</para>
            <para>If this feature is enabled, the <see cref="E:MailKit.MailFolder.MessageExpunged"/> event is replaced
            with the <see cref="E:MailKit.MailFolder.MessagesVanished"/> event.</para>
            <para>This method needs to be called immediately after calling one of the
            <a href="Overload_MailKit_MailService_Authenticate.htm">Authenticate</a> methods, before
            opening any folders.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            Quick resynchronization needs to be enabled before selecting a folder.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The mail store does not support quick resynchronization.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetFolder(MailKit.SpecialFolder)">
            <summary>
            Get the specified special folder.
            </summary>
            <remarks>
            Not all mail stores support special folders. Each implementation
            should provide a way to determine if special folders are supported.
            </remarks>
            <returns>The folder if available; otherwise <c>null</c>.</returns>
            <param name="folder">The type of special folder.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="folder"/> is out of range.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetFolder(MailKit.FolderNamespace)">
            <summary>
            Get the folder for the specified namespace.
            </summary>
            <remarks>
            Gets the folder for the specified namespace.
            </remarks>
            <returns>The folder.</returns>
            <param name="namespace">The namespace.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetFolders(MailKit.FolderNamespace,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetFoldersAsync(MailKit.FolderNamespace,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Asynchronously gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetFolders(MailKit.FolderNamespace,MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetFoldersAsync(MailKit.FolderNamespace,MailKit.StatusItems,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get all of the folders within the specified namespace.
            </summary>
            <remarks>
            Asynchronously gets all of the folders within the specified namespace.
            </remarks>
            <returns>The folders.</returns>
            <param name="namespace">The namespace.</param>
            <param name="items">The status items to pre-populate.</param>
            <param name="subscribedOnly">If set to <c>true</c>, only subscribed folders will be listed.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="namespace"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetFolder(System.String,System.Threading.CancellationToken)">
            <summary>
            Get the folder for the specified path.
            </summary>
            <remarks>
            Gets the folder for the specified path.
            </remarks>
            <returns>The folder.</returns>
            <param name="path">The folder path.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="path"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetFolderAsync(System.String,System.Threading.CancellationToken)">
            <summary>
            Asynchronously get the folder for the specified path.
            </summary>
            <remarks>
            Asynchronously gets the folder for the specified path.
            </remarks>
            <returns>The folder.</returns>
            <param name="path">The folder path.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="path"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.MailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:MailKit.FolderNotFoundException">
            The folder could not be found.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetMetadata(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetMetadataAsync(MailKit.MetadataTag,System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata value.</returns>
            <param name="tag">The metadata tag.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetMetadata(System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="tags"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetMetadataAsync(System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="tags"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetMetadata(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Gets the specified metadata.
            </summary>
            <remarks>
            Gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="tags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.GetMetadataAsync(MailKit.MetadataOptions,System.Collections.Generic.IEnumerable{MailKit.MetadataTag},System.Threading.CancellationToken)">
            <summary>
            Asynchronously gets the specified metadata.
            </summary>
            <remarks>
            Asynchronously gets the specified metadata.
            </remarks>
            <returns>The requested metadata.</returns>
            <param name="options">The metadata options.</param>
            <param name="tags">The metadata tags.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="tags"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.SetMetadata(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Sets the specified metadata.
            </summary>
            <remarks>
            Sets the specified metadata.
            </remarks>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="M:MailKit.MailStore.SetMetadataAsync(MailKit.MetadataCollection,System.Threading.CancellationToken)">
            <summary>
            Asynchronously sets the specified metadata.
            </summary>
            <remarks>
            Asynchronously sets the specified metadata.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="metadata">The metadata.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.IMailStore"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.IMailStore"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            The <see cref="T:MailKit.IMailStore"/> is not authenticated.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The folder does not support metadata.
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation was canceled via the cancellation token.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            The server's response contained unexpected tokens.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The command failed.
            </exception>
        </member>
        <member name="E:MailKit.MailStore.Alert">
            <summary>
            Occurs when a remote message store receives an alert message from the server.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailStore.Alert"/> event is raised whenever the mail server sends an
            alert message.
            </remarks>
        </member>
        <member name="M:MailKit.MailStore.OnAlert(System.String)">
            <summary>
            Raise the alert event.
            </summary>
            <remarks>
            Raises the alert event.
            </remarks>
            <param name="message">The alert message.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
        </member>
        <member name="E:MailKit.MailStore.FolderCreated">
            <summary>
            Occurs when a folder is created.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailStore.FolderCreated"/> event is emitted when a new folder is created.
            </remarks>
        </member>
        <member name="M:MailKit.MailStore.OnFolderCreated(MailKit.IMailFolder)">
            <summary>
            Raise the folder created event.
            </summary>
            <remarks>
            Raises the folder created event.
            </remarks>
            <param name="folder">The folder that was just created.</param>
        </member>
        <member name="E:MailKit.MailStore.MetadataChanged">
            <summary>
            Occurs when metadata changes.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailStore.MetadataChanged"/> event is emitted when metadata changes.
            </remarks>
        </member>
        <member name="M:MailKit.MailStore.OnMetadataChanged(MailKit.Metadata)">
            <summary>
            Raise the metadata changed event.
            </summary>
            <remarks>
            Raises the metadata changed event.
            </remarks>
            <param name="metadata">The metadata that changed.</param>
        </member>
        <member name="T:MailKit.MailTransport">
            <summary>
            An abstract mail transport implementation.
            </summary>
            <remarks>
            An abstract mail transport implementation.
            </remarks>
        </member>
        <member name="M:MailKit.MailTransport.#ctor(MailKit.IProtocolLogger)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MailTransport"/> class.
            </summary>
            <remarks>
            Initializes a new instance of the <see cref="T:MailKit.MailTransport"/> class.
            </remarks>
            <param name="protocolLogger">The protocol logger.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="protocolLogger"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.MailTransport.Send(MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message.
            </summary>
            <remarks>
            <para>Sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessage"/>
            </example>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailTransport"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailTransport"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The send command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailTransport.SendAsync(MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message.
            </summary>
            <remarks>
            <para>Asynchronously sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailTransport"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailTransport"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The send command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailTransport.Send(MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Sends the specified message using the supplied sender and recipients.
            </remarks>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="sender"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailTransport"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailTransport"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The send command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailTransport.SendAsync(MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Asynchronously sends the specified message using the supplied sender and recipients.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="sender"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailTransport"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailTransport"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The send command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailTransport.Send(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message.
            </summary>
            <remarks>
            <para>Sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="SendMessageWithOptions"/>
            </example>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailTransport"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailTransport"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>Internationalized formatting was requested but is not supported by the transport.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The send command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailTransport.SendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message.
            </summary>
            <remarks>
            <para>Asynchronously sends the specified message.</para>
            <para>The sender address is determined by checking the following
            message headers (in order of precedence): Resent-Sender,
            Resent-From, Sender, and From.</para>
            <para>If either the Resent-Sender or Resent-From addresses are present,
            the recipients are collected from the Resent-To, Resent-Cc, and
            Resent-Bcc headers, otherwise the To, Cc, and Bcc headers are used.</para>
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailTransport"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailTransport"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>Internationalized formatting was requested but is not supported by the transport.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The send command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailTransport.Send(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Sends the specified message using the supplied sender and recipients.
            </remarks>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="sender"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailTransport"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailTransport"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>Internationalized formatting was requested but is not supported by the transport.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The send command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol exception occurred.
            </exception>
        </member>
        <member name="M:MailKit.MailTransport.SendAsync(MimeKit.FormatOptions,MimeKit.MimeMessage,MimeKit.MailboxAddress,System.Collections.Generic.IEnumerable{MimeKit.MailboxAddress},System.Threading.CancellationToken,MailKit.ITransferProgress)">
            <summary>
            Asynchronously send the specified message using the supplied sender and recipients.
            </summary>
            <remarks>
            Asynchronously sends the specified message using the supplied sender and recipients.
            </remarks>
            <returns>An asynchronous task context.</returns>
            <param name="options">The formatting options.</param>
            <param name="message">The message.</param>
            <param name="sender">The mailbox address to use for sending the message.</param>
            <param name="recipients">The mailbox addresses that should receive the message.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="progress">The progress reporting mechanism.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="options"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="message"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="sender"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="recipients"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The <see cref="T:MailKit.MailTransport"/> has been disposed.
            </exception>
            <exception cref="T:MailKit.ServiceNotConnectedException">
            The <see cref="T:MailKit.MailTransport"/> is not connected.
            </exception>
            <exception cref="T:MailKit.ServiceNotAuthenticatedException">
            Authentication is required before sending a message.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            <para>A sender has not been specified.</para>
            <para>-or-</para>
            <para>No recipients have been specified.</para>
            </exception>
            <exception cref="T:System.OperationCanceledException">
            The operation has been canceled.
            </exception>
            <exception cref="T:System.NotSupportedException">
            <para>Internationalized formatting was requested but is not supported by the transport.</para>
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
            <exception cref="T:MailKit.CommandException">
            The send command failed.
            </exception>
            <exception cref="T:MailKit.ProtocolException">
            A protocol exception occurred.
            </exception>
        </member>
        <member name="E:MailKit.MailTransport.MessageSent">
            <summary>
            Occurs when a message is successfully sent via the transport.
            </summary>
            <remarks>
            The <see cref="E:MailKit.MailTransport.MessageSent"/> event will be emitted each time a message is successfully sent.
            </remarks>
        </member>
        <member name="M:MailKit.MailTransport.OnMessageSent(MailKit.MessageSentEventArgs)">
            <summary>
            Raise the message sent event.
            </summary>
            <remarks>
            Raises the message sent event.
            </remarks>
            <param name="e">The message sent event args.</param>
        </member>
        <member name="T:MailKit.MessageEventArgs">
            <summary>
            Event args used when the state of a message changes.
            </summary>
            <remarks>
            Event args used when the state of a message changes.
            </remarks>
        </member>
        <member name="M:MailKit.MessageEventArgs.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MailKit.MessageEventArgs.Index">
            <summary>
            Gets the index of the message that changed.
            </summary>
            <remarks>
            Gets the index of the message that changed.
            </remarks>
            <value>The index of the message.</value>
        </member>
        <member name="T:MailKit.MessageFlags">
            <summary>
            An enumeration of message flags.
            </summary>
            <remarks>
            An enumeration of message flags.
            </remarks>
        </member>
        <member name="F:MailKit.MessageFlags.None">
            <summary>
            No message flags are set.
            </summary>
        </member>
        <member name="F:MailKit.MessageFlags.Seen">
            <summary>
            The message has been read.
            </summary>
        </member>
        <member name="F:MailKit.MessageFlags.Answered">
            <summary>
            The message has been answered (replied to).
            </summary>
        </member>
        <member name="F:MailKit.MessageFlags.Flagged">
            <summary>
            The message has been flagged for importance.
            </summary>
        </member>
        <member name="F:MailKit.MessageFlags.Deleted">
            <summary>
            The message has been marked for deletion.
            </summary>
        </member>
        <member name="F:MailKit.MessageFlags.Draft">
            <summary>
            The message is marked as a draft.
            </summary>
        </member>
        <member name="F:MailKit.MessageFlags.Recent">
            <summary>
            The message has just recently arrived in the folder.
            </summary>
        </member>
        <member name="F:MailKit.MessageFlags.UserDefined">
            <summary>
            User-defined flags are allowed by the folder.
            </summary>
        </member>
        <member name="T:MailKit.MessageFlagsChangedEventArgs">
            <summary>
            Event args for the <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> event.
            </summary>
            <remarks>
            Event args for the <see cref="E:MailKit.IMailFolder.MessageFlagsChanged"/> event.
            </remarks>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32,MailKit.MessageFlags)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="flags">The message flags.</param>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="flags">The message flags.</param>
            <param name="keywords">The user-defined message flags.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keywords"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32,MailKit.MessageFlags,System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="flags">The message flags.</param>
            <param name="modseq">The modification sequence value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="flags">The message flags.</param>
            <param name="keywords">The user-defined message flags.</param>
            <param name="modseq">The modification sequence value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keywords"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32,MailKit.UniqueId,MailKit.MessageFlags)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="uid">The unique id of the message.</param>
            <param name="flags">The message flags.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32,MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="uid">The unique id of the message.</param>
            <param name="flags">The message flags.</param>
            <param name="keywords">The user-defined message flags.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keywords"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32,MailKit.UniqueId,MailKit.MessageFlags,System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="uid">The unique id of the message.</param>
            <param name="flags">The message flags.</param>
            <param name="modseq">The modification sequence value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageFlagsChangedEventArgs.#ctor(System.Int32,MailKit.UniqueId,MailKit.MessageFlags,System.Collections.Generic.HashSet{System.String},System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="uid">The unique id of the message.</param>
            <param name="flags">The message flags.</param>
            <param name="keywords">The user-defined message flags.</param>
            <param name="modseq">The modification sequence value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="keywords"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MailKit.MessageFlagsChangedEventArgs.UniqueId">
            <summary>
            Gets the unique ID of the message that changed, if available.
            </summary>
            <remarks>
            Gets the unique ID of the message that changed, if available.
            </remarks>
            <value>The unique ID of the message.</value>
        </member>
        <member name="P:MailKit.MessageFlagsChangedEventArgs.Flags">
            <summary>
            Gets the updated message flags.
            </summary>
            <remarks>
            Gets the updated message flags.
            </remarks>
            <value>The updated message flags.</value>
        </member>
        <member name="P:MailKit.MessageFlagsChangedEventArgs.Keywords">
            <summary>
            Gets the updated user-defined message flags.
            </summary>
            <remarks>
            Gets the updated user-defined message flags.
            </remarks>
            <value>The updated user-defined message flags.</value>
        </member>
        <member name="P:MailKit.MessageFlagsChangedEventArgs.UserFlags">
            <summary>
            Gets the updated user-defined message flags.
            </summary>
            <remarks>
            Gets the updated user-defined message flags.
            </remarks>
            <value>The updated user-defined message flags.</value>
        </member>
        <member name="P:MailKit.MessageFlagsChangedEventArgs.ModSeq">
            <summary>
            Gets the updated mod-sequence value of the message, if available.
            </summary>
            <remarks>
            Gets the updated mod-sequence value of the message, if available.
            </remarks>
            <value>The mod-sequence value.</value>
        </member>
        <member name="T:MailKit.MessageLabelsChangedEventArgs">
            <summary>
            Event args for the <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> event.
            </summary>
            <remarks>
            Event args for the <see cref="E:MailKit.IMailFolder.MessageLabelsChanged"/> event.
            </remarks>
        </member>
        <member name="M:MailKit.MessageLabelsChangedEventArgs.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageLabelsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageLabelsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageLabelsChangedEventArgs.#ctor(System.Int32,System.Collections.Generic.IList{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageLabelsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageLabelsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="labels">The message labels.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageLabelsChangedEventArgs.#ctor(System.Int32,System.Collections.Generic.IList{System.String},System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageLabelsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageLabelsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="labels">The message labels.</param>
            <param name="modseq">The modification sequence value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageLabelsChangedEventArgs.#ctor(System.Int32,MailKit.UniqueId,System.Collections.Generic.IList{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageLabelsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageLabelsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="uid">The unique id of the message.</param>
            <param name="labels">The message labels.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.MessageLabelsChangedEventArgs.#ctor(System.Int32,MailKit.UniqueId,System.Collections.Generic.IList{System.String},System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageLabelsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageLabelsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="uid">The unique id of the message.</param>
            <param name="labels">The message labels.</param>
            <param name="modseq">The modification sequence value.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="labels"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MailKit.MessageLabelsChangedEventArgs.UniqueId">
            <summary>
            Gets the unique ID of the message that changed, if available.
            </summary>
            <remarks>
            Gets the unique ID of the message that changed, if available.
            </remarks>
            <value>The unique ID of the message.</value>
        </member>
        <member name="P:MailKit.MessageLabelsChangedEventArgs.Labels">
            <summary>
            Gets the updated labels.
            </summary>
            <remarks>
            Gets the updated labels.
            </remarks>
            <value>The updated labels.</value>
        </member>
        <member name="P:MailKit.MessageLabelsChangedEventArgs.ModSeq">
            <summary>
            Gets the updated mod-sequence value of the message, if available.
            </summary>
            <remarks>
            Gets the updated mod-sequence value of the message, if available.
            </remarks>
            <value>The mod-sequence value.</value>
        </member>
        <member name="T:MailKit.MessageNotFoundException">
            <summary>
            The exception that is thrown when a message (or body part) could not be found.
            </summary>
            <remarks>
            This exception is thrown by methods such as
            <a href="Overload_MailKit_IMailFolder_GetMessage.htm">IMailFolder.GetMessage</a>,
            <a href="Overload_MailKit_IMailFolder_GetBodyPart.htm">IMailFolder.GetBodyPart</a>, or
            <a href="Overload_MailKit_IMailFolder_GetStream.htm">IMailFolder.GetStream</a>
            when the server's response does not contain the message, body part, or stream data requested.
            </remarks>
        </member>
        <member name="M:MailKit.MessageNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageNotFoundException"/> class.
            </summary>
            <remarks>
            Deserializes a <see cref="T:MailKit.MessageNotFoundException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.MessageNotFoundException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageNotFoundException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
            <exception cref="T:System.ArgumentNullException">
            </exception>
        </member>
        <member name="M:MailKit.MessageNotFoundException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageNotFoundException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageNotFoundException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="T:MailKit.MessageSentEventArgs">
            <summary>
            Event args used when a message is successfully sent.
            </summary>
            <remarks>
            Event args used when message is successfully sent.
            </remarks>
        </member>
        <member name="M:MailKit.MessageSentEventArgs.#ctor(MimeKit.MimeMessage,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageSentEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageSentEventArgs"/>.
            </remarks>
            <param name="message">The message that was just sent.</param>
            <param name="response">The response from the server.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="message"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="response"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.MessageSentEventArgs.Message">
            <summary>
            Get the message that was just sent.
            </summary>
            <remarks>
            Gets the message that was just sent.
            </remarks>
            <value>The message.</value>
        </member>
        <member name="P:MailKit.MessageSentEventArgs.Response">
            <summary>
            Get the server's response.
            </summary>
            <remarks>
            Gets the server's response.
            </remarks>
            <value>The response.</value>
        </member>
        <member name="T:MailKit.MessageSorter">
            <summary>
            Routines for sorting messages.
            </summary>
            <remarks>
            Routines for sorting messages.
            </remarks>
        </member>
        <member name="M:MailKit.MessageSorter.Sort``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IList{MailKit.Search.OrderBy})">
            <summary>
            Sorts the messages by the specified ordering.
            </summary>
            <remarks>
            Sorts the messages by the specified ordering.
            </remarks>
            <returns>The sorted messages.</returns>
            <typeparam name="T">The message items must implement the <see cref="T:MailKit.IMessageSummary"/> interface.</typeparam>
            <param name="messages">The messages to sort.</param>
            <param name="orderBy">The sort ordering.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="messages"/> contains one or more items that is missing information needed for sorting.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is an empty list.</para>
            </exception>
        </member>
        <member name="M:MailKit.MessageSorter.Sort``1(System.Collections.Generic.List{``0},System.Collections.Generic.IList{MailKit.Search.OrderBy})">
            <summary>
            Sorts the messages by the specified ordering.
            </summary>
            <remarks>
            Sorts the messages by the specified ordering.
            </remarks>
            <returns>The sorted messages.</returns>
            <typeparam name="T">The message items must implement the <see cref="T:MailKit.IMessageSummary"/> interface.</typeparam>
            <param name="messages">The messages to sort.</param>
            <param name="orderBy">The sort ordering.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="messages"/> contains one or more items that is missing information needed for sorting.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is an empty list.</para>
            </exception>
        </member>
        <member name="T:MailKit.MessageSummary">
            <summary>
            A summary of a message.
            </summary>
            <remarks>
            A <see cref="T:MailKit.MessageSummary"/> is returned by
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.
            The properties of the <see cref="T:MailKit.MessageSummary"/> that will be available
            depend on the <see cref="T:MailKit.MessageSummaryItems"/> passed to the aformentioned method.
            </remarks>
        </member>
        <member name="M:MailKit.MessageSummary.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageSummary"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageSummary"/>.
            </remarks>
            <param name="index">The message index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is negative.
            </exception>
        </member>
        <member name="P:MailKit.MessageSummary.Fields">
            <summary>
            Get a bitmask of fields that have been populated.
            </summary>
            <remarks>
            Gets a bitmask of fields that have been populated.
            </remarks>
            <value>The fields that have been populated.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Body">
            <summary>
            Gets the body structure of the message, if available.
            </summary>
            <remarks>
            <para>The body will be one of <see cref="T:MailKit.BodyPartText"/>,
            <see cref="T:MailKit.BodyPartMessage"/>, <see cref="T:MailKit.BodyPartBasic"/>,
            or <see cref="T:MailKit.BodyPartMultipart"/>.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> or
            <see cref="F:MailKit.MessageSummaryItems.Body"/> flag is used
            when fetching summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The body structure of the message.</value>
        </member>
        <member name="P:MailKit.MessageSummary.TextBody">
            <summary>
            Gets the text body part of the message if it exists.
            </summary>
            <remarks>
            <para>Gets the <c>text/plain</c> body part of the message.</para>
            <para>In order for this to work properly, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <value>The text body if it exists; otherwise, <c>null</c>.</value>
        </member>
        <member name="P:MailKit.MessageSummary.HtmlBody">
            <summary>
            Gets the html body part of the message if it exists.
            </summary>
            <remarks>
            <para>Gets the <c>text/html</c> body part of the message.</para>
            <para>In order for this to work properly, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The html body if it exists; otherwise, <c>null</c>.</value>
        </member>
        <member name="P:MailKit.MessageSummary.BodyParts">
            <summary>
            Gets the body parts of the message.
            </summary>
            <remarks>
            <para>Traverses over the <see cref="P:MailKit.MessageSummary.Body"/>, enumerating all of the
            <see cref="T:MailKit.BodyPartBasic"/> objects.</para>
            <para>In order for this to work, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> or
            <see cref="F:MailKit.MessageSummaryItems.Body"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The body parts.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Attachments">
            <summary>
            Gets the attachments.
            </summary>
            <remarks>
            <para>Traverses over the <see cref="P:MailKit.MessageSummary.Body"/>, enumerating all of the
            <see cref="T:MailKit.BodyPartBasic"/> objects that have a <c>Content-Disposition</c>
            header set to <c>"attachment"</c>.</para>
            <para>In order for this to work properly, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <example>
            <code language="c#" source="Examples\ImapExamples.cs" region="DownloadBodyParts"/>
            </example>
            <value>The attachments.</value>
        </member>
        <member name="P:MailKit.MessageSummary.PreviewText">
            <summary>
            Gets the preview text of the message.
            </summary>
            <remarks>
            <para>The preview text is a short snippet of the beginning of the message
            text, typically shown in a mail client's message list UI.</para>
            <para>In order for this to work properly, it is necessary to include
            <see cref="F:MailKit.MessageSummaryItems.PreviewText"/> when fetching
            summary information from a <see cref="T:MailKit.IMailFolder"/>.</para>
            </remarks>
            <value>The preview text.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Envelope">
            <summary>
            Gets the envelope of the message, if available.
            </summary>
            <remarks>
            <para>The envelope of a message contains information such as the
            date the message was sent, the subject of the message,
            the sender of the message, who the message was sent to,
            which message(s) the message may be in reply to,
            and the message id.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Envelope"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The envelope of the message.</value>
        </member>
        <member name="P:MailKit.MessageSummary.NormalizedSubject">
            <summary>
            Gets the normalized subject.
            </summary>
            <remarks>
            A normalized Subject header value where prefixes such as
            "Re:", "Re[#]:", etc have been pruned.
            </remarks>
            <value>The normalized subject.</value>
        </member>
        <member name="P:MailKit.MessageSummary.IsReply">
            <summary>
            Gets whether or not the message is a reply.
            </summary>
            <remarks>
            This value should be based on whether the message subject contained any "Re:" or "Fwd:" prefixes.
            </remarks>
            <value><c>true</c> if the message is a reply; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Date">
            <summary>
            Gets the Date header value.
            </summary>
            <remarks>
            Gets the Date header value. If the Date header is not present, the arrival date is used.
            If neither are known, <see cref="F:System.DateTimeOffset.MinValue"/> is returned.
            </remarks>
            <value>The date.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Flags">
            <summary>
            Gets the message flags, if available.
            </summary>
            <remarks>
            <para>Gets the message flags, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Flags"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The message flags.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Keywords">
            <summary>
            Gets the user-defined message flags, if available.
            </summary>
            <remarks>
            <para>Gets the user-defined message flags, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Flags"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The user-defined message flags.</value>
        </member>
        <member name="P:MailKit.MessageSummary.UserFlags">
            <summary>
            Gets the user-defined message flags, if available.
            </summary>
            <remarks>
            <para>Gets the user-defined message flags, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Flags"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The user-defined message flags.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Headers">
            <summary>
            Gets the list of headers, if available.
            </summary>
            <remarks>
            <para>Gets the list of headers, if available.</para>
            <para>This property will only be set if <see cref="F:MailKit.MessageSummaryItems.Headers"/> is specified or specific headers are requested via a method such as
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Collections.Generic.IEnumerable{MimeKit.HeaderId},System.Threading.CancellationToken)"/>.
            that takes a list of specific headers to request for each message.</para>
            </remarks>
            <value>The list of headers.</value>
        </member>
        <member name="P:MailKit.MessageSummary.InternalDate">
            <summary>
            Gets the internal date of the message (i.e. the "received" date), if available.
            </summary>
            <remarks>
            <para>Gets the internal date of the message (i.e. the "received" date), if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.InternalDate"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The internal date of the message.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Size">
            <summary>
            Gets the size of the message, in bytes, if available.
            </summary>
            <remarks>
            <para>Gets the size of the message, in bytes, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Size"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The size of the message.</value>
        </member>
        <member name="P:MailKit.MessageSummary.ModSeq">
            <summary>
            Gets the mod-sequence value for the message, if available.
            </summary>
            <remarks>
            <para>Gets the mod-sequence value for the message, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.ModSeq"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The mod-sequence value.</value>
        </member>
        <member name="P:MailKit.MessageSummary.References">
            <summary>
            Gets the message-ids that the message references, if available.
            </summary>
            <remarks>
            <para>Gets the message-ids that the message references, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.References"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The references.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Id">
            <summary>
            Get the globally unique identifier for the message, if available.
            </summary>
            <remarks>
            <para>Gets the globally unique identifier of the message, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.Id"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            <note type="info">This property maps to the <c>EMAILID</c> value defined in the <a href="https://tools.ietf.org/html/rfc8474">OBJECTID</a> extension.</note>
            </remarks>
            <value>The globally unique message identifier.</value>
        </member>
        <member name="P:MailKit.MessageSummary.ThreadId">
            <summary>
            Get the globally unique thread identifier for the message, if available.
            </summary>
            <remarks>
            <para>Gets the globally unique thread identifier for the message, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.ThreadId"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            <note type="info">This property maps to the <c>THREADID</c> value defined in the <a href="https://tools.ietf.org/html/rfc8474">OBJECTID</a> extension.</note>
            </remarks>
            <value>The globally unique thread identifier.</value>
        </member>
        <member name="P:MailKit.MessageSummary.UniqueId">
            <summary>
            Gets the unique identifier of the message, if available.
            </summary>
            <remarks>
            <para>Gets the unique identifier of the message, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.UniqueId"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The uid of the message.</value>
        </member>
        <member name="P:MailKit.MessageSummary.Index">
            <summary>
            Gets the index of the message.
            </summary>
            <remarks>
            Gets the index of the message.
            </remarks>
            <value>The index of the message.</value>
        </member>
        <member name="P:MailKit.MessageSummary.GMailMessageId">
            <summary>
            Gets the GMail message identifier, if available.
            </summary>
            <remarks>
            <para>Gets the GMail message identifier, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.GMailMessageId"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The GMail message identifier.</value>
        </member>
        <member name="P:MailKit.MessageSummary.GMailThreadId">
            <summary>
            Gets the GMail thread identifier, if available.
            </summary>
            <remarks>
            <para>Gets the GMail thread identifier, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.GMailThreadId"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The GMail thread identifier.</value>
        </member>
        <member name="P:MailKit.MessageSummary.GMailLabels">
            <summary>
            Gets the list of GMail labels, if available.
            </summary>
            <remarks>
            <para>Gets the list of GMail labels, if available.</para>
            <para>This property will only be set if the
            <see cref="F:MailKit.MessageSummaryItems.GMailLabels"/> flag is passed to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.</para>
            </remarks>
            <value>The GMail labels.</value>
        </member>
        <member name="T:MailKit.MessageSummaryFetchedEventArgs">
            <summary>
            Event args used when a message summary has been fetched from a folder.
            </summary>
            <remarks>
            Event args used when a message summary has been fetched from a folder.
            </remarks>
        </member>
        <member name="M:MailKit.MessageSummaryFetchedEventArgs.#ctor(MailKit.IMessageSummary)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageSummaryFetchedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageSummaryFetchedEventArgs"/>
            </remarks>
            <param name="message">The message summary.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="message"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.MessageSummaryFetchedEventArgs.Message">
            <summary>
            Get the message summary.
            </summary>
            <remarks>
            Gets the message summary.
            </remarks>
            <value>The message summary.</value>
        </member>
        <member name="T:MailKit.MessageSummaryItems">
            <summary>
            A bitfield of <see cref="T:MailKit.MessageSummary"/> fields.
            </summary>
            <remarks>
            <see cref="T:MailKit.MessageSummaryItems"/> are used to specify which properties
            of <see cref="T:MailKit.MessageSummary"/> should be populated by calls to
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{MailKit.UniqueId},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>,
            <see cref="M:MailKit.IMailFolder.Fetch(System.Collections.Generic.IList{System.Int32},MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>, or
            <see cref="M:MailKit.IMailFolder.Fetch(System.Int32,System.Int32,MailKit.MessageSummaryItems,System.Threading.CancellationToken)"/>.
            </remarks>
        </member>
        <member name="F:MailKit.MessageSummaryItems.None">
            <summary>
            Don't fetch any summary items.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.Body">
            <summary>
            <para>Fetch the <see cref="P:MailKit.IMessageSummary.Body"/>.</para>
            <note type="note">Unlike <see cref="F:MailKit.MessageSummaryItems.BodyStructure"/>, <c>Body</c> will not populate the
            <see cref="P:MailKit.BodyPart.ContentType"/> parameters nor will it populate the
            <see cref="P:MailKit.BodyPartBasic.ContentDisposition"/>, <see cref="P:MailKit.BodyPartBasic.ContentLanguage"/>
            or <see cref="P:MailKit.BodyPartBasic.ContentLocation"/> properties of each <see cref="T:MailKit.BodyPartBasic"/>
            body part. This makes <c>Body</c> far less useful than <c>BodyStructure</c> especially when
            it is desirable to determine whether or not a body part is an attachment.</note>
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.BodyStructure">
            <summary>
            <para>Fetch the <see cref="P:MailKit.IMessageSummary.Body"/> (but with more details than <see cref="F:MailKit.MessageSummaryItems.Body"/>).</para>
            <note type="note">Unlike <see cref="F:MailKit.MessageSummaryItems.Body"/>, <c>BodyStructure</c> will also populate the
            <see cref="P:MailKit.BodyPart.ContentType"/> parameters as well as the
            <see cref="P:MailKit.BodyPartBasic.ContentDisposition"/>, <see cref="P:MailKit.BodyPartBasic.ContentLanguage"/>
            and <see cref="P:MailKit.BodyPartBasic.ContentLocation"/> properties of each <see cref="T:MailKit.BodyPartBasic"/>
            body part. The <c>Content-Disposition</c> information is especially important when trying to
            determine whether or not a body part is an attachment, for example.</note>
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.Envelope">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.Envelope"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.Flags">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.Flags"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.InternalDate">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.InternalDate"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.Size">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.Size"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.ModSeq">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.ModSeq"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.References">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.References"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.UniqueId">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.UniqueId"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.Id">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.Id"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.ThreadId">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.ThreadId"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.GMailMessageId">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.GMailMessageId"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.GMailThreadId">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.GMailThreadId"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.GMailLabels">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.GMailLabels"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.PreviewText">
            <summary>
            Fetch the <see cref="P:MailKit.IMessageSummary.PreviewText"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.Headers">
            <summary>
            Fetch the the complete list of <see cref="P:MailKit.IMessageSummary.Headers"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.All">
            <summary>
            A macro for <see cref="F:MailKit.MessageSummaryItems.Envelope"/>, <see cref="F:MailKit.MessageSummaryItems.Flags"/>, <see cref="F:MailKit.MessageSummaryItems.InternalDate"/>,
            and <see cref="F:MailKit.MessageSummaryItems.Size"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.Fast">
            <summary>
            A macro for <see cref="F:MailKit.MessageSummaryItems.Flags"/>, <see cref="F:MailKit.MessageSummaryItems.InternalDate"/>, and <see cref="F:MailKit.MessageSummaryItems.Size"/>.
            </summary>
        </member>
        <member name="F:MailKit.MessageSummaryItems.Full">
            <summary>
            A macro for <see cref="F:MailKit.MessageSummaryItems.Body"/>, <see cref="F:MailKit.MessageSummaryItems.Envelope"/>, <see cref="F:MailKit.MessageSummaryItems.Flags"/>,
            <see cref="F:MailKit.MessageSummaryItems.InternalDate"/>, and <see cref="F:MailKit.MessageSummaryItems.Size"/>.
            </summary>
        </member>
        <member name="T:MailKit.MessagesVanishedEventArgs">
            <summary>
            Event args used when a message vanishes from a folder.
            </summary>
            <remarks>
            Event args used when a message vanishes from a folder.
            </remarks>
        </member>
        <member name="M:MailKit.MessagesVanishedEventArgs.#ctor(System.Collections.Generic.IList{MailKit.UniqueId},System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessagesVanishedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessagesVanishedEventArgs"/>.
            </remarks>
            <param name="uids">The list of unique identifiers.</param>
            <param name="earlier">If set to <c>true</c>, the messages vanished in the past as opposed to just now.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.MessagesVanishedEventArgs.UniqueIds">
            <summary>
            Gets the unique identifiers of the messages that vanished.
            </summary>
            <remarks>
            Gets the unique identifiers of the messages that vanished.
            </remarks>
            <value>The unique identifiers.</value>
        </member>
        <member name="P:MailKit.MessagesVanishedEventArgs.Earlier">
            <summary>
            Gets whether the messages vanished inthe past as opposed to just now.
            </summary>
            <remarks>
            Gets whether the messages vanished inthe past as opposed to just now.
            </remarks>
            <value><c>true</c> if the messages vanished earlier; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:MailKit.MessageThread">
            <summary>
            A message thread.
            </summary>
            <remarks>
            A message thread.
            </remarks>
        </member>
        <member name="M:MailKit.MessageThread.#ctor(System.Nullable{MailKit.UniqueId})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageThread"/> class.
            </summary>
            <remarks>
            Creates a new message thread node.
            </remarks>
            <param name="uid">The unique identifier of the message.</param>
        </member>
        <member name="P:MailKit.MessageThread.UniqueId">
            <summary>
            Gets the unique identifier of the message.
            </summary>
            <remarks>
            The unique identifier may be <c>null</c> if the message is missing
            from the <see cref="T:MailKit.IMailFolder"/> or did not match the 
            <see cref="T:MailKit.Search.SearchQuery"/>.
            </remarks>
            <value>The unique identifier.</value>
        </member>
        <member name="P:MailKit.MessageThread.Children">
            <summary>
            Gets the children.
            </summary>
            <remarks>
            Each child represents a reply to the message referenced by <see cref="P:MailKit.MessageThread.UniqueId"/>.
            </remarks>
            <value>The children.</value>
        </member>
        <member name="T:MailKit.MessageThreader">
            <summary>
            Threads messages according to the algorithms defined in rfc5256.
            </summary>
            <remarks>
            Threads messages according to the algorithms defined in rfc5256.
            </remarks>
        </member>
        <member name="M:MailKit.MessageThreader.Thread(System.Collections.Generic.IEnumerable{MailKit.IMessageSummary},MailKit.ThreadingAlgorithm)">
            <summary>
            Thread the messages according to the specified threading algorithm.
            </summary>
            <remarks>
            Thread the messages according to the specified threading algorithm.
            </remarks>
            <returns>The threaded messages.</returns>
            <param name="messages">The messages.</param>
            <param name="algorithm">The threading algorithm.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="messages"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not a valid threading algorithm.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="messages"/> contains one or more items that is missing information needed for threading.
            </exception>
        </member>
        <member name="M:MailKit.MessageThreader.Thread(System.Collections.Generic.IEnumerable{MailKit.IMessageSummary},MailKit.ThreadingAlgorithm,System.Collections.Generic.IList{MailKit.Search.OrderBy})">
            <summary>
            Threads the messages according to the specified threading algorithm
            and sorts the resulting threads by the specified ordering.
            </summary>
            <remarks>
            Threads the messages according to the specified threading algorithm
            and sorts the resulting threads by the specified ordering.
            </remarks>
            <returns>The threaded messages.</returns>
            <param name="messages">The messages.</param>
            <param name="algorithm">The threading algorithm.</param>
            <param name="orderBy">The requested sort ordering.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="messages"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is <c>null</c>.</para>
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="algorithm"/> is not a valid threading algorithm.
            </exception>
            <exception cref="T:System.ArgumentException">
            <para><paramref name="messages"/> contains one or more items that is missing information needed for threading or sorting.</para>
            <para>-or-</para>
            <para><paramref name="orderBy"/> is an empty list.</para>
            </exception>
        </member>
        <member name="M:MailKit.MessageThreader.GetThreadableSubject(System.String,System.Int32@)">
            <summary>
            Gets the threadable subject.
            </summary>
            <remarks>
            Gets the threadable subject.
            </remarks>
            <returns>The threadable subject.</returns>
            <param name="subject">The Subject header value.</param>
            <param name="replyDepth">The reply depth.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="subject"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.Metadata">
            <summary>
            A metadata tag and value.
            </summary>
            <remarks>
            A metadata tag and value.
            </remarks>
        </member>
        <member name="M:MailKit.Metadata.#ctor(MailKit.MetadataTag,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.Metadata"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.Metadata"/>.
            </remarks>
            <param name="tag">The metadata tag.</param>
            <param name="value">The meatdata value.</param>
        </member>
        <member name="P:MailKit.Metadata.Tag">
            <summary>
            Gets the metadata tag.
            </summary>
            <remarks>
            Gets the metadata tag.
            </remarks>
            <value>The metadata tag.</value>
        </member>
        <member name="P:MailKit.Metadata.Value">
            <summary>
            Gets the metadata value.
            </summary>
            <remarks>
            Gets the metadata value.
            </remarks>
            <value>The metadata value.</value>
        </member>
        <member name="T:MailKit.MetadataChangedEventArgs">
            <summary>
            Event args used when a metadata changes.
            </summary>
            <remarks>
            Event args used when a metadata changes.
            </remarks>
        </member>
        <member name="M:MailKit.MetadataChangedEventArgs.#ctor(MailKit.Metadata)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MetadataChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MetadataChangedEventArgs"/>.
            </remarks>
            <param name="metadata">The metadata that changed.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="metadata"/> is <c>null</c>.
            </exception>
        </member>
        <member name="P:MailKit.MetadataChangedEventArgs.Metadata">
            <summary>
            Get the metadata that changed.
            </summary>
            <remarks>
            Gets the metadata that changed.
            </remarks>
            <value>The metadata.</value>
        </member>
        <member name="T:MailKit.MetadataCollection">
            <summary>
            A collection of metadata.
            </summary>
            <remarks>
            A collection of metadata.
            </remarks>
        </member>
        <member name="M:MailKit.MetadataCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MetadataCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MetadataCollection"/>
            </remarks>
        </member>
        <member name="M:MailKit.MetadataCollection.#ctor(System.Collections.Generic.IEnumerable{MailKit.Metadata})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MetadataCollection"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MetadataCollection"/>.
            </remarks>
            <param name="collection">A collection of metadata.</param>
        </member>
        <member name="T:MailKit.MetadataOptions">
            <summary>
            A set of options to use when requesting metadata.
            </summary>
            <remarks>
            A set of options to use when requesting metadata.
            </remarks>
        </member>
        <member name="M:MailKit.MetadataOptions.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MetadataOptions"/> class.
            </summary>
            <remarks>
            Creates a new set of options to use when requesting metadata.
            </remarks>
        </member>
        <member name="P:MailKit.MetadataOptions.Depth">
            <summary>
            Get or set the depth.
            </summary>
            <remarks>
            <para>When the <see cref="P:MailKit.MetadataOptions.Depth"/> option is specified, it extends the list of metadata tag
            values returned by the GetMetadata() call. For each <see cref="T:MailKit.MetadataTag"/> specified in the
            the GetMetadata() call, the method returns the value of the specified metadata tag (if it exists),
            plus all metadata tags below the specified entry up to the specified depth.</para>
            <para>Three values are allowed for <see cref="P:MailKit.MetadataOptions.Depth"/>:</para>
            <para><c>0</c> - no entries below the specified metadata tag are returned.</para>
            <para><c>1</c> - only entries immediately below the specified metadata tag are returned.</para>
            <para><see cref="F:System.Int32.MaxValue"/> - all entries below the specified metadata tag are returned.</para>
            <para>Thus, a depth of <c>1</c> for a tag entry of <c>"/a"</c> will match <c>"/a"</c> as well as its children
            entries (e.g., <c>"/a/b"</c>), but will not match grandchildren entries (e.g., <c>"/a/b/c"</c>).</para>
            <para>If the Depth option is not specified, this is the same as specifying <c>0</c>.</para>
            </remarks>
            <value>The depth.</value>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="value"/> is out of range.
            </exception>
        </member>
        <member name="P:MailKit.MetadataOptions.MaxSize">
            <summary>
            Get or set the max size of the metadata tags to request.
            </summary>
            <remarks>
            When specified, the <see cref="P:MailKit.MetadataOptions.MaxSize"/> property is used to filter the metadata tags
            returned by the GetMetadata() call to only those with a value shorter than the max size
            specified.
            </remarks>
            <value>The size of the max.</value>
        </member>
        <member name="P:MailKit.MetadataOptions.LongEntries">
            <summary>
            Get the length of the longest metadata value.
            </summary>
            <remarks>
            If the <see cref="P:MailKit.MetadataOptions.MaxSize"/> property is specified, once the GetMetadata() call returns,
            the <see cref="P:MailKit.MetadataOptions.LongEntries"/> property will be set to the length of the longest metadata
            value that exceeded the <see cref="P:MailKit.MetadataOptions.MaxSize"/> limit, otherwise a value of <c>0</c> will
            be set.
            </remarks>
            <value>The length of the longest metadata value that exceeded the max size.</value>
        </member>
        <member name="T:MailKit.MetadataTag">
            <summary>
            A metadata tag.
            </summary>
            <remarks>
            A metadata tag.
            </remarks>
        </member>
        <member name="F:MailKit.MetadataTag.SharedAdmin">
            <summary>
            Indicates a method for contacting the server administrator.
            </summary>
            <remarks>
            Used to get the contact information of the administrator on a
            <see cref="T:MailKit.IMailStore"/>.
            </remarks>
        </member>
        <member name="F:MailKit.MetadataTag.PrivateComment">
            <summary>
            Indicates a private comment.
            </summary>
            <remarks>
            Used to get or set a private comment on a <see cref="T:MailKit.IMailFolder"/>.
            </remarks>
        </member>
        <member name="F:MailKit.MetadataTag.SharedComment">
            <summary>
            Indicates a shared comment.
            </summary>
            <remarks>
            Used to get or set a shared comment on a <see cref="T:MailKit.IMailStore"/>
            or <see cref="T:MailKit.IMailFolder"/>.
            </remarks>
        </member>
        <member name="F:MailKit.MetadataTag.PrivateSpecialUse">
            <summary>
            Indicates a method for specifying the special use for a particular folder.
            </summary>
            <remarks>
            Used to get or set the special use of a <see cref="T:MailKit.IMailFolder"/>.
            </remarks>
        </member>
        <member name="M:MailKit.MetadataTag.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MetadataTag"/> struct.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MetadataTag"/>.
            </remarks>
            <param name="id">The metadata tag identifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="id"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            <paramref name="id"/> is an empty string.
            </exception>
        </member>
        <member name="P:MailKit.MetadataTag.Id">
            <summary>
            Gets the metadata tag identifier.
            </summary>
            <remarks>
            Gets the metadata tag identifier.
            </remarks>
            <value>The metadata tag identifier.</value>
        </member>
        <member name="M:MailKit.MetadataTag.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MailKit.MetadataTag"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MailKit.MetadataTag"/>.
            </remarks>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:MailKit.MetadataTag"/>.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current
            <see cref="T:MailKit.MetadataTag"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:MailKit.MetadataTag.GetHashCode">
            <summary>
            Serves as a hash function for a <see cref="T:MailKit.MetadataTag"/> object.
            </summary>
            <remarks>
            Serves as a hash function for a <see cref="T:MailKit.MetadataTag"/> object.
            </remarks>
            <returns>A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table.</returns>
        </member>
        <member name="M:MailKit.MetadataTag.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.MetadataTag"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.MetadataTag"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.MetadataTag"/>.</returns>
        </member>
        <member name="T:MailKit.ModSeqChangedEventArgs">
            <summary>
            Event args for the <see cref="E:MailKit.IMailFolder.ModSeqChanged"/> event.
            </summary>
            <remarks>
            Event args for the <see cref="E:MailKit.IMailFolder.ModSeqChanged"/> event.
            </remarks>
        </member>
        <member name="M:MailKit.ModSeqChangedEventArgs.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ModSeqChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ModSeqChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
        </member>
        <member name="M:MailKit.ModSeqChangedEventArgs.#ctor(System.Int32,System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.MessageFlagsChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.MessageFlagsChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="modseq">The modification sequence value.</param>
        </member>
        <member name="M:MailKit.ModSeqChangedEventArgs.#ctor(System.Int32,MailKit.UniqueId,System.UInt64)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ModSeqChangedEventArgs"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ModSeqChangedEventArgs"/>.
            </remarks>
            <param name="index">The message index.</param>
            <param name="uid">The unique id of the message.</param>
            <param name="modseq">The modification sequence value.</param>
        </member>
        <member name="P:MailKit.ModSeqChangedEventArgs.UniqueId">
            <summary>
            Gets the unique ID of the message that changed, if available.
            </summary>
            <remarks>
            Gets the unique ID of the message that changed, if available.
            </remarks>
            <value>The unique ID of the message.</value>
        </member>
        <member name="P:MailKit.ModSeqChangedEventArgs.ModSeq">
            <summary>
            Gets the updated mod-sequence value of the message.
            </summary>
            <remarks>
            Gets the updated mod-sequence value of the message.
            </remarks>
            <value>The mod-sequence value.</value>
        </member>
        <member name="T:MailKit.NullProtocolLogger">
            <summary>
            A protocol logger that does not log to anywhere.
            </summary>
            <remarks>
            By default, the <see cref="T:MailKit.Net.Smtp.SmtpClient"/>,
            <see cref="T:MailKit.Net.Pop3.Pop3Client"/>, and
            <see cref="T:MailKit.Net.Imap.ImapClient"/> all use a
            <see cref="T:MailKit.NullProtocolLogger"/>.
            </remarks>
        </member>
        <member name="M:MailKit.NullProtocolLogger.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.NullProtocolLogger"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.NullProtocolLogger"/>.
            </remarks>
        </member>
        <member name="M:MailKit.NullProtocolLogger.LogConnect(System.Uri)">
            <summary>
            Logs a connection to the specified URI.
            </summary>
            <remarks>
            This method does nothing.
            </remarks>
            <param name="uri">The URI.</param>
        </member>
        <member name="M:MailKit.NullProtocolLogger.LogClient(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Logs a sequence of bytes sent by the client.
            </summary>
            <remarks>
            This method does nothing.
            </remarks>
            <param name='buffer'>The buffer to log.</param>
            <param name='offset'>The offset of the first byte to log.</param>
            <param name='count'>The number of bytes to log.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.NullProtocolLogger.LogServer(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Logs a sequence of bytes sent by the server.
            </summary>
            <remarks>
            This method does nothing.
            </remarks>
            <param name='buffer'>The buffer to log.</param>
            <param name='offset'>The offset of the first byte to log.</param>
            <param name='count'>The number of bytes to log.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.NullProtocolLogger.Dispose">
            <summary>
            Releases all resource used by the <see cref="T:MailKit.NullProtocolLogger"/> object.
            </summary>
            <remarks>Call <see cref="M:MailKit.NullProtocolLogger.Dispose"/> when you are finished using the <see cref="T:MailKit.NullProtocolLogger"/>. The
            <see cref="M:MailKit.NullProtocolLogger.Dispose"/> method leaves the <see cref="T:MailKit.NullProtocolLogger"/> in an unusable state. After
            calling <see cref="M:MailKit.NullProtocolLogger.Dispose"/>, you must release all references to the <see cref="T:MailKit.NullProtocolLogger"/> so
            the garbage collector can reclaim the memory that the <see cref="T:MailKit.NullProtocolLogger"/> was occupying.</remarks>
        </member>
        <member name="T:MailKit.ProtocolException">
            <summary>
            The exception that is thrown when there is a protocol error.
            </summary>
            <remarks>
            <para>A <see cref="T:MailKit.ProtocolException"/> can be thrown by any of the various client
            methods in MailKit.</para>
            <para>Since many protocol exceptions are fatal, it is important to check whether
            or not the client is still connected using the <see cref="P:MailKit.IMailService.IsConnected"/>
            property when this exception is thrown.</para>
            </remarks>
        </member>
        <member name="M:MailKit.ProtocolException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ProtocolException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
        </member>
        <member name="M:MailKit.ProtocolException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">An inner exception.</param>
        </member>
        <member name="M:MailKit.ProtocolException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ProtocolException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.ProtocolException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ProtocolException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ProtocolException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.ProtocolLogger">
            <summary>
            A default protocol logger for logging the communication between a client and server.
            </summary>
            <remarks>
            A default protocol logger for logging the communication between a client and server.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ProtocolLogger" />
            </example>
        </member>
        <member name="M:MailKit.ProtocolLogger.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ProtocolLogger"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ProtocolLogger"/> to log to a specified file. The file is created if it does not exist.
            </remarks>
            <example>
            <code language="c#" source="Examples\SmtpExamples.cs" region="ProtocolLogger" />
            </example>
            <param name="fileName">The file name.</param>
            <param name="append"><c>true</c> if the file should be appended to; otherwise, <c>false</c>. Defaults to <c>true</c>.</param>
        </member>
        <member name="M:MailKit.ProtocolLogger.#ctor(System.IO.Stream,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ProtocolLogger"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ProtocolLogger"/> to log to a specified stream.
            </remarks>
            <param name="stream">The stream.</param>
            <param name="leaveOpen"><c>true</c> if the stream should be left open after the protocol logger is disposed.</param>
        </member>
        <member name="M:MailKit.ProtocolLogger.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the <see cref="T:MailKit.ProtocolLogger"/>
            is reclaimed by garbage collection.
            </summary>
            <remarks>
            Releases unmanaged resources and performs other cleanup operations before the <see cref="T:MailKit.ProtocolLogger"/>
            is reclaimed by garbage collection.
            </remarks>
        </member>
        <member name="M:MailKit.ProtocolLogger.LogConnect(System.Uri)">
            <summary>
            Logs a connection to the specified URI.
            </summary>
            <remarks>
            Logs a connection to the specified URI.
            </remarks>
            <param name="uri">The URI.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uri"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The logger has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.ProtocolLogger.LogClient(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Logs a sequence of bytes sent by the client.
            </summary>
            <remarks>
            <para>Logs a sequence of bytes sent by the client.</para>
            <para><see cref="M:MailKit.ProtocolLogger.LogClient(System.Byte[],System.Int32,System.Int32)"/> is called by the <see cref="T:MailKit.IMailService"/> upon every successful
            write operation to its underlying network stream, passing the exact same <paramref name="buffer"/>,
            <paramref name="offset"/>, and <paramref name="count"/> arguments to the logging function.</para>
            </remarks>
            <param name='buffer'>The buffer to log.</param>
            <param name='offset'>The offset of the first byte to log.</param>
            <param name='count'>The number of bytes to log.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The logger has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.ProtocolLogger.LogServer(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Logs a sequence of bytes sent by the server.
            </summary>
            <remarks>
            <para>Logs a sequence of bytes sent by the server.</para>
            <para><see cref="M:MailKit.ProtocolLogger.LogServer(System.Byte[],System.Int32,System.Int32)"/> is called by the <see cref="T:MailKit.IMailService"/> upon every successful
            read of its underlying network stream with the exact buffer that was read.</para>
            </remarks>
            <param name='buffer'>The buffer to log.</param>
            <param name='offset'>The offset of the first byte to log.</param>
            <param name='count'>The number of bytes to log.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="buffer"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="offset"/> is less than zero or greater than the length of <paramref name="buffer"/>.</para>
            <para>-or-</para>
            <para>The <paramref name="buffer"/> is not large enough to contain <paramref name="count"/> bytes strting
            at the specified <paramref name="offset"/>.</para>
            </exception>
            <exception cref="T:System.ObjectDisposedException">
            The logger has been disposed.
            </exception>
            <exception cref="T:System.IO.IOException">
            An I/O error occurred.
            </exception>
        </member>
        <member name="M:MailKit.ProtocolLogger.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:MailKit.ProtocolLogger"/> and
            optionally releases the managed resources.
            </summary>
            <remarks>
            Releases the unmanaged resources used by the <see cref="T:MailKit.ProtocolLogger"/> and
            optionally releases the managed resources.
            </remarks>
            <param name="disposing"><c>true</c> to release both managed and unmanaged resources;
            <c>false</c> to release only the unmanaged resources.</param>
        </member>
        <member name="M:MailKit.ProtocolLogger.Dispose">
            <summary>
            Releases all resource used by the <see cref="T:MailKit.ProtocolLogger"/> object.
            </summary>
            <remarks>Call <see cref="M:MailKit.ProtocolLogger.Dispose"/> when you are finished using the <see cref="T:MailKit.ProtocolLogger"/>. The
            <see cref="M:MailKit.ProtocolLogger.Dispose"/> method leaves the <see cref="T:MailKit.ProtocolLogger"/> in an unusable state. After calling
            <see cref="M:MailKit.ProtocolLogger.Dispose"/>, you must release all references to the <see cref="T:MailKit.ProtocolLogger"/> so the garbage
            collector can reclaim the memory that the <see cref="T:MailKit.ProtocolLogger"/> was occupying.</remarks>
        </member>
        <member name="T:MailKit.ServiceNotAuthenticatedException">
            <summary>
            The exception that is thrown when the <see cref="T:MailKit.IMailService"/> is not authenticated.
            </summary>
            <remarks>
            This exception is thrown when an operation on a service could not be completed
            due to the service not being authenticated.
            </remarks>
        </member>
        <member name="M:MailKit.ServiceNotAuthenticatedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ServiceNotAuthenticatedException"/> class.
            </summary>
            <remarks>
            Deserializes a <see cref="T:MailKit.ServiceNotAuthenticatedException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.ServiceNotAuthenticatedException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ServiceNotAuthenticatedException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ServiceNotAuthenticatedException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MailKit.ServiceNotAuthenticatedException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ServiceNotAuthenticatedException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ServiceNotAuthenticatedException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.ServiceNotAuthenticatedException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ServiceNotAuthenticatedException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ServiceNotAuthenticatedException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.ServiceNotConnectedException">
            <summary>
            The exception that is thrown when the <see cref="T:MailKit.IMailService"/> is not connected.
            </summary>
            <remarks>
            This exception is thrown when an operation on a service could not be completed
            due to the service not being connected.
            </remarks>
        </member>
        <member name="M:MailKit.ServiceNotConnectedException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ServiceNotConnectedException"/> class.
            </summary>
            <remarks>
            Deserializes a <see cref="T:MailKit.ServiceNotConnectedException"/>.
            </remarks>
            <param name="info">The serialization info.</param>
            <param name="context">The streaming context.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="info"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.ServiceNotConnectedException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ServiceNotConnectedException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ServiceNotConnectedException"/>.
            </remarks>
            <param name="message">The error message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:MailKit.ServiceNotConnectedException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ServiceNotConnectedException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ServiceNotConnectedException"/>.
            </remarks>
            <param name="message">The error message.</param>
        </member>
        <member name="M:MailKit.ServiceNotConnectedException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.ServiceNotConnectedException"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.ServiceNotConnectedException"/>.
            </remarks>
        </member>
        <member name="T:MailKit.SpecialFolder">
            <summary>
            An enumeration of special folders.
            </summary>
            <remarks>
            An enumeration of special folders.
            </remarks>
        </member>
        <member name="F:MailKit.SpecialFolder.All">
            <summary>
            The special folder containing an aggregate of all messages.
            </summary>
        </member>
        <member name="F:MailKit.SpecialFolder.Archive">
            <summary>
            The special folder that contains archived messages.
            </summary>
        </member>
        <member name="F:MailKit.SpecialFolder.Drafts">
            <summary>
            The special folder that contains message drafts.
            </summary>
        </member>
        <member name="F:MailKit.SpecialFolder.Flagged">
            <summary>
            The special folder that contains important messages.
            </summary>
        </member>
        <member name="F:MailKit.SpecialFolder.Junk">
            <summary>
            The special folder that contains spam messages.
            </summary>
        </member>
        <member name="F:MailKit.SpecialFolder.Sent">
            <summary>
            The special folder that contains sent messages.
            </summary>
        </member>
        <member name="F:MailKit.SpecialFolder.Trash">
            <summary>
            The special folder that contains deleted messages.
            </summary>
        </member>
        <member name="T:MailKit.StatusItems">
            <summary>
            Status items.
            </summary>
            <remarks>
            Used with <see cref="M:MailKit.IMailFolder.Status(MailKit.StatusItems,System.Threading.CancellationToken)"/>
            </remarks>
        </member>
        <member name="F:MailKit.StatusItems.None">
            <summary>
            No status requested.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.Count">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.Count"/>.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.Recent">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.Recent"/>.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.UidNext">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.UidNext"/>.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.UidValidity">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.UidValidity"/>.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.Unread">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.Unread"/>.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.HighestModSeq">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.HighestModSeq"/>.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.AppendLimit">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.AppendLimit"/>.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.Size">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.Size"/>.
            </summary>
        </member>
        <member name="F:MailKit.StatusItems.MailboxId">
            <summary>
            Updates <see cref="P:MailKit.IMailFolder.Id"/>.
            </summary>
        </member>
        <member name="T:MailKit.ThreadingAlgorithm">
            <summary>
            An enumeration of threading algorithms.
            </summary>
            <remarks>
            A threading algorithm is used to group messages and their
            replies together.
            </remarks>
        </member>
        <member name="F:MailKit.ThreadingAlgorithm.OrderedSubject">
            <summary>
            Thread messages based on their Subject headers.
            </summary>
        </member>
        <member name="F:MailKit.ThreadingAlgorithm.References">
            <summary>
            Threads messages based on their References, In-Reply-To, and Message-Id headers.
            This algorithm is far better than <see cref="F:MailKit.ThreadingAlgorithm.OrderedSubject"/> but is also more
            expensive to calculate.
            </summary>
        </member>
        <member name="T:MailKit.UniqueId">
            <summary>
            A unique identifier.
            </summary>
            <remarks>
            Represents a unique identifier for messages in a <see cref="T:MailKit.IMailFolder"/>.
            </remarks>
        </member>
        <member name="F:MailKit.UniqueId.Invalid">
            <summary>
            The invalid <see cref="T:MailKit.UniqueId"/> value.
            </summary>
            <remarks>
            The invalid <see cref="T:MailKit.UniqueId"/> value.
            </remarks>
        </member>
        <member name="F:MailKit.UniqueId.MinValue">
            <summary>
            The minimum <see cref="T:MailKit.UniqueId"/> value.
            </summary>
            <remarks>
            The minimum <see cref="T:MailKit.UniqueId"/> value.
            </remarks>
        </member>
        <member name="F:MailKit.UniqueId.MaxValue">
            <summary>
            The maximum <see cref="T:MailKit.UniqueId"/> value.
            </summary>
            <remarks>
            The maximum <see cref="T:MailKit.UniqueId"/> value.
            </remarks>
        </member>
        <member name="M:MailKit.UniqueId.#ctor(System.UInt32,System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueId"/> struct.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.UniqueId"/> with the specified validity and value.
            </remarks>
            <param name="validity">The uid validity.</param>
            <param name="id">The unique identifier.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is <c>0</c>.
            </exception>
        </member>
        <member name="M:MailKit.UniqueId.#ctor(System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueId"/> struct.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.UniqueId"/> with the specified value.
            </remarks>
            <param name="id">The unique identifier.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="id"/> is <c>0</c>.
            </exception>
        </member>
        <member name="P:MailKit.UniqueId.Id">
            <summary>
            Gets the identifier.
            </summary>
            <remarks>
            The identifier.
            </remarks>
            <value>The identifier.</value>
        </member>
        <member name="P:MailKit.UniqueId.Validity">
            <summary>
            Gets the validity, if non-zero.
            </summary>
            <remarks>
            Gets the UidValidity of the containing folder.
            </remarks>
            <value>The UidValidity of the containing folder.</value>
        </member>
        <member name="P:MailKit.UniqueId.IsValid">
            <summary>
            Gets whether or not the unique identifier is valid.
            </summary>
            <remarks>
            Gets whether or not the unique identifier is valid.
            </remarks>
            <value><c>true</c> if the unique identifier is valid; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.UniqueId.CompareTo(MailKit.UniqueId)">
            <summary>
            Compares two <see cref="T:MailKit.UniqueId"/> objects.
            </summary>
            <remarks>
            Compares two <see cref="T:MailKit.UniqueId"/> objects.
            </remarks>
            <returns>
            A value less than <c>0</c> if this <see cref="T:MailKit.UniqueId"/> is less than <paramref name="other"/>,
            a value of <c>0</c> if this <see cref="T:MailKit.UniqueId"/> is equal to <paramref name="other"/>, or
            a value greater than <c>0</c> if this <see cref="T:MailKit.UniqueId"/> is greater than <paramref name="other"/>.
            </returns>
            <param name="other">The other unique identifier.</param>
        </member>
        <member name="M:MailKit.UniqueId.Equals(MailKit.UniqueId)">
            <summary>
            Determines whether the specified <see cref="T:MailKit.UniqueId"/> is equal to the current <see cref="T:MailKit.UniqueId"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:MailKit.UniqueId"/> is equal to the current <see cref="T:MailKit.UniqueId"/>.
            </remarks>
            <param name="other">The <see cref="T:MailKit.UniqueId"/> to compare with the current <see cref="T:MailKit.UniqueId"/>.</param>
            <returns><c>true</c> if the specified <see cref="T:MailKit.UniqueId"/> is equal to the current
            <see cref="T:MailKit.UniqueId"/>; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:MailKit.UniqueId.op_Equality(MailKit.UniqueId,MailKit.UniqueId)">
            <summary>
            Determines whether two unique identifiers are equal.
            </summary>
            <remarks>
            Determines whether two unique identifiers are equal.
            </remarks>
            <returns><c>true</c> if <paramref name="uid1"/> and <paramref name="uid2"/> are equal; otherwise, <c>false</c>.</returns>
            <param name="uid1">The first unique id to compare.</param>
            <param name="uid2">The second unique id to compare.</param>
        </member>
        <member name="M:MailKit.UniqueId.op_GreaterThan(MailKit.UniqueId,MailKit.UniqueId)">
            <summary>
            Determines whether one unique identifier is greater than another unique identifier.
            </summary>
            <remarks>
            Determines whether one unique identifier is greater than another unique identifier.
            </remarks>
            <returns><c>true</c> if <paramref name="uid1"/> is greater than <paramref name="uid2"/>; otherwise, <c>false</c>.</returns>
            <param name="uid1">The first unique id to compare.</param>
            <param name="uid2">The second unique id to compare.</param>
        </member>
        <member name="M:MailKit.UniqueId.op_GreaterThanOrEqual(MailKit.UniqueId,MailKit.UniqueId)">
            <summary>
            Determines whether one unique identifier is greater than or equal to another unique identifier.
            </summary>
            <remarks>
            Determines whether one unique identifier is greater than or equal to another unique identifier.
            </remarks>
            <returns><c>true</c> if <paramref name="uid1"/> is greater than or equal to <paramref name="uid2"/>; otherwise, <c>false</c>.</returns>
            <param name="uid1">The first unique id to compare.</param>
            <param name="uid2">The second unique id to compare.</param>
        </member>
        <member name="M:MailKit.UniqueId.op_Inequality(MailKit.UniqueId,MailKit.UniqueId)">
            <summary>
            Determines whether two unique identifiers are not equal.
            </summary>
            <remarks>
            Determines whether two unique identifiers are not equal.
            </remarks>
            <returns><c>true</c> if <paramref name="uid1"/> and <paramref name="uid2"/> are not equal; otherwise, <c>false</c>.</returns>
            <param name="uid1">The first unique id to compare.</param>
            <param name="uid2">The second unique id to compare.</param>
        </member>
        <member name="M:MailKit.UniqueId.op_LessThan(MailKit.UniqueId,MailKit.UniqueId)">
            <summary>
            Determines whether one unique identifier is less than another unique identifier.
            </summary>
            <remarks>
            Determines whether one unique identifier is less than another unique identifier.
            </remarks>
            <returns><c>true</c> if <paramref name="uid1"/> is less than <paramref name="uid2"/>; otherwise, <c>false</c>.</returns>
            <param name="uid1">The first unique id to compare.</param>
            <param name="uid2">The second unique id to compare.</param>
        </member>
        <member name="M:MailKit.UniqueId.op_LessThanOrEqual(MailKit.UniqueId,MailKit.UniqueId)">
            <summary>
            Determines whether one unique identifier is less than or equal to another unique identifier.
            </summary>
            <remarks>
            Determines whether one unique identifier is less than or equal to another unique identifier.
            </remarks>
            <returns><c>true</c> if <paramref name="uid1"/> is less than or equal to <paramref name="uid2"/>; otherwise, <c>false</c>.</returns>
            <param name="uid1">The first unique id to compare.</param>
            <param name="uid2">The second unique id to compare.</param>
        </member>
        <member name="M:MailKit.UniqueId.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MailKit.UniqueId"/>.
            </summary>
            <remarks>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MailKit.UniqueId"/>.
            </remarks>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:MailKit.UniqueId"/>.</param>
            <returns><c>true</c> if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:MailKit.UniqueId"/>;
            otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:MailKit.UniqueId.GetHashCode">
            <summary>
            Serves as a hash function for a <see cref="T:MailKit.UniqueId"/> object.
            </summary>
            <remarks>
            Serves as a hash function for a <see cref="T:MailKit.UniqueId"/> object.
            </remarks>
            <returns>A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a hash table.</returns>
        </member>
        <member name="M:MailKit.UniqueId.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueId"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueId"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueId"/>.</returns>
        </member>
        <member name="M:MailKit.UniqueId.TryParse(System.String,System.Int32@,System.UInt32@)">
            <summary>
            Attempt to parse a unique identifier.
            </summary>
            <remarks>
            Attempts to parse a unique identifier.
            </remarks>
            <returns><c>true</c> if the unique identifier was successfully parsed; otherwise, <c>false.</c>.</returns>
            <param name="token">The token to parse.</param>
            <param name="index">The index to start parsing.</param>
            <param name="uid">The unique identifier.</param>
        </member>
        <member name="M:MailKit.UniqueId.TryParse(System.String,System.UInt32,MailKit.UniqueId@)">
            <summary>
            Attempt to parse a unique identifier.
            </summary>
            <remarks>
            Attempts to parse a unique identifier.
            </remarks>
            <returns><c>true</c> if the unique identifier was successfully parsed; otherwise, <c>false.</c>.</returns>
            <param name="token">The token to parse.</param>
            <param name="validity">The UIDVALIDITY value.</param>
            <param name="uid">The unique identifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.UniqueId.TryParse(System.String,MailKit.UniqueId@)">
            <summary>
            Attempt to parse a unique identifier.
            </summary>
            <remarks>
            Attempts to parse a unique identifier.
            </remarks>
            <returns><c>true</c> if the unique identifier was successfully parsed; otherwise, <c>false.</c>.</returns>
            <param name="token">The token to parse.</param>
            <param name="uid">The unique identifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.UniqueId.Parse(System.String,System.UInt32)">
            <summary>
            Parse a unique identifier.
            </summary>
            <remarks>
            Parses a unique identifier.
            </remarks>
            <returns>The unique identifier.</returns>
            <param name="token">A string containing the unique identifier.</param>
            <param name="validity">The UIDVALIDITY.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.FormatException">
            <paramref name="token"/> is not in the correct format.
            </exception>
            <exception cref="T:System.OverflowException">
            The unique identifier is greater than <see cref="F:MailKit.UniqueId.MaxValue"/>.
            </exception>
        </member>
        <member name="M:MailKit.UniqueId.Parse(System.String)">
            <summary>
            Parse a unique identifier.
            </summary>
            <remarks>
            Parses a unique identifier.
            </remarks>
            <returns>The unique identifier.</returns>
            <param name="token">A string containing the unique identifier.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.FormatException">
            <paramref name="token"/> is not in the correct format.
            </exception>
            <exception cref="T:System.OverflowException">
            The unique identifier is greater than <see cref="F:MailKit.UniqueId.MaxValue"/>.
            </exception>
        </member>
        <member name="T:MailKit.UniqueIdMap">
            <summary>
            A mapping of unique identifiers.
            </summary>
            <remarks>
            <para>A <see cref="T:MailKit.UniqueIdMap"/> can be used to discover the mapping of one set of unique identifiers
            to another.</para>
            <para>For example, when copying or moving messages from one folder to another, it is often desirable
            to know what the unique identifiers are for each of the messages in the destination folder.</para>
            </remarks>
        </member>
        <member name="F:MailKit.UniqueIdMap.Empty">
            <summary>
            Any empty mapping of unique identifiers.
            </summary>
            <remarks>
            Any empty mapping of unique identifiers.
            </remarks>
        </member>
        <member name="M:MailKit.UniqueIdMap.#ctor(System.Collections.Generic.IList{MailKit.UniqueId},System.Collections.Generic.IList{MailKit.UniqueId})">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueIdMap"/> class.
            </summary>
            <remarks>
            Creates a new <see cref="T:MailKit.UniqueIdMap"/>.
            </remarks>
            <param name="source">The unique identifiers used in the source folder.</param>
            <param name="destination">The unique identifiers used in the destination folder.</param>
            <exception cref="T:System.ArgumentNullException">
            <para><paramref name="source"/> is <c>null</c>.</para>
            <para>-or-</para>
            <para><paramref name="destination"/> is <c>null</c>.</para>
            </exception>
        </member>
        <member name="P:MailKit.UniqueIdMap.Source">
            <summary>
            Gets the list of unique identifiers used in the source folder.
            </summary>
            <remarks>
            Gets the list of unique identifiers used in the source folder.
            </remarks>
            <value>The unique identifiers used in the source folder.</value>
        </member>
        <member name="P:MailKit.UniqueIdMap.Destination">
            <summary>
            Gets the list of unique identifiers used in the destination folder.
            </summary>
            <remarks>
            Gets the list of unique identifiers used in the destination folder.
            </remarks>
            <value>The unique identifiers used in the destination folder.</value>
        </member>
        <member name="P:MailKit.UniqueIdMap.Count">
            <summary>
            Gets the number of unique identifiers that have been remapped.
            </summary>
            <remarks>
            Gets the number of unique identifiers that have been remapped.
            </remarks>
            <value>The count.</value>
        </member>
        <member name="P:MailKit.UniqueIdMap.Keys">
            <summary>
            Gets the keys.
            </summary>
            <remarks>
            Gets the keys.
            </remarks>
            <value>The keys.</value>
        </member>
        <member name="P:MailKit.UniqueIdMap.Values">
            <summary>
            Gets the values.
            </summary>
            <remarks>
            Gets the values.
            </remarks>
            <value>The values.</value>
        </member>
        <member name="M:MailKit.UniqueIdMap.ContainsKey(MailKit.UniqueId)">
            <summary>
            Checks if the specified unique identifier has been remapped.
            </summary>
            <remarks>
            Checks if the specified unique identifier has been remapped.
            </remarks>
            <returns><c>true</c> if the unique identifier has been remapped; otherwise, <c>false</c>.</returns>
            <param name="key">The unique identifier.</param>
        </member>
        <member name="M:MailKit.UniqueIdMap.TryGetValue(MailKit.UniqueId,MailKit.UniqueId@)">
            <summary>
            Tries to get the remapped unique identifier.
            </summary>
            <remarks>
            Attempts to get the remapped unique identifier.
            </remarks>
            <returns><c>true</c> on success; otherwise, <c>false</c>.</returns>
            <param name="key">The unique identifier of the message in the source folder.</param>
            <param name="value">The unique identifier of the message in the destination folder.</param>
        </member>
        <member name="P:MailKit.UniqueIdMap.Item(MailKit.UniqueId)">
            <summary>
            Gets the remapped unique identifier.
            </summary>
            <remarks>
            Gets the remapped unique identifier.
            </remarks>
            <param name="index">The unique identifier of the message in the source folder.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdMap.GetEnumerator">
            <summary>
            Gets the enumerator for the remapped unique identifiers.
            </summary>
            <remarks>
            Gets the enumerator for the remapped unique identifiers.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.UniqueIdMap.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets the enumerator for the remapped unique identifiers.
            </summary>
            <remarks>
            Gets the enumerator for the remapped unique identifiers.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="T:MailKit.UniqueIdRange">
            <summary>
            A range of <see cref="T:MailKit.UniqueId"/> items.
            </summary>
            <remarks>
            When dealing with a large range, it is more efficient to use a
            <see cref="T:MailKit.UniqueIdRange"/> than a typical
            IList&lt;<see cref="T:MailKit.UniqueId"/>&gt;.
            </remarks>
        </member>
        <member name="F:MailKit.UniqueIdRange.All">
            <summary>
            A <see cref="T:MailKit.UniqueIdRange"/> that encompases all messages in the folder.
            </summary>
            <remarks>
            Represents the range of messages from <see cref="F:MailKit.UniqueId.MinValue"/> to
            <see cref="F:MailKit.UniqueId.MaxValue"/>.
            </remarks>
        </member>
        <member name="M:MailKit.UniqueIdRange.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueIdRange"/> class.
            </summary>
            <remarks>
            Creates a new (invalid) range of unique identifiers.
            </remarks>
        </member>
        <member name="M:MailKit.UniqueIdRange.#ctor(System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueIdRange"/> class.
            </summary>
            <remarks>
            Creates a new range of unique identifiers.
            </remarks>
            <param name="validity">The uid validity.</param>
            <param name="start">The first unique identifier in the range.</param>
            <param name="end">The last unique identifier in the range.</param>
        </member>
        <member name="M:MailKit.UniqueIdRange.#ctor(MailKit.UniqueId,MailKit.UniqueId)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueIdRange"/> class.
            </summary>
            <remarks>
            Creates a new range of unique identifiers.
            </remarks>
            <param name="start">The first <see cref="T:MailKit.UniqueId"/> in the range.</param>
            <param name="end">The last <see cref="T:MailKit.UniqueId"/> in the range.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <para><paramref name="start"/> is invalid.</para>
            <para>-or-</para>
            <para><paramref name="end"/> is invalid.</para>
            </exception>
        </member>
        <member name="P:MailKit.UniqueIdRange.Validity">
            <summary>
            Gets the validity, if non-zero.
            </summary>
            <remarks>
            Gets the UidValidity of the containing folder.
            </remarks>
            <value>The UidValidity of the containing folder.</value>
        </member>
        <member name="P:MailKit.UniqueIdRange.Min">
            <summary>
            Gets the minimum unique identifier in the range.
            </summary>
            <remarks>
            Gets the minimum unique identifier in the range.
            </remarks>
            <value>The minimum unique identifier.</value>
        </member>
        <member name="P:MailKit.UniqueIdRange.Max">
            <summary>
            Gets the maximum unique identifier in the range.
            </summary>
            <remarks>
            Gets the maximum unique identifier in the range.
            </remarks>
            <value>The maximum unique identifier.</value>
        </member>
        <member name="P:MailKit.UniqueIdRange.Start">
            <summary>
            Get the start of the unique identifier range.
            </summary>
            <remarks>
            Gets the start of the unique identifier range.
            </remarks>
            <value>The start of the range.</value>
        </member>
        <member name="P:MailKit.UniqueIdRange.End">
            <summary>
            Get the end of the unique identifier range.
            </summary>
            <remarks>
            Gets the end of the unique identifier range.
            </remarks>
            <value>The end of the range.</value>
        </member>
        <member name="P:MailKit.UniqueIdRange.Count">
            <summary>
            Get the number of unique identifiers in the range.
            </summary>
            <remarks>
            Gets the number of unique identifiers in the range.
            </remarks>
            <value>The count.</value>
        </member>
        <member name="P:MailKit.UniqueIdRange.IsReadOnly">
            <summary>
            Get whether or not the range is read only.
            </summary>
            <remarks>
            A <see cref="T:MailKit.UniqueIdRange"/> is always read-only.
            </remarks>
            <value><c>true</c> if the range is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.UniqueIdRange.Add(MailKit.UniqueId)">
            <summary>
            Adds the unique identifier to the range.
            </summary>
            <remarks>
            Since a <see cref="T:MailKit.UniqueIdRange"/> is read-only, unique ids cannot
            be added to the range.
            </remarks>
            <param name="uid">The unique identifier to add.</param>
            <exception cref="T:System.NotSupportedException">
            The list does not support adding items.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdRange.Clear">
            <summary>
            Clears the list.
            </summary>
            <remarks>
            Since a <see cref="T:MailKit.UniqueIdRange"/> is read-only, the range cannot be cleared.
            </remarks>
            <exception cref="T:System.NotSupportedException">
            The list does not support being cleared.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdRange.Contains(MailKit.UniqueId)">
            <summary>
            Checks if the range contains the specified unique id.
            </summary>
            <remarks>
            Determines whether or not the range contains the specified unique id.
            </remarks>
            <returns><value>true</value> if the specified unique identifier is in the range; otherwise <value>false</value>.</returns>
            <param name="uid">The unique id.</param>
        </member>
        <member name="M:MailKit.UniqueIdRange.CopyTo(MailKit.UniqueId[],System.Int32)">
            <summary>
            Copies all of the unique ids in the range to the specified array.
            </summary>
            <remarks>
            Copies all of the unique ids within the range into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the unique ids to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of range.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdRange.Remove(MailKit.UniqueId)">
            <summary>
            Removes the unique identifier from the range.
            </summary>
            <remarks>
            Since a <see cref="T:MailKit.UniqueIdRange"/> is read-only, unique ids cannot be removed.
            </remarks>
            <returns><value>true</value> if the unique identifier was removed; otherwise <value>false</value>.</returns>
            <param name="uid">The unique identifier to remove.</param>
            <exception cref="T:System.NotSupportedException">
            The list does not support removing items.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdRange.IndexOf(MailKit.UniqueId)">
            <summary>
            Gets the index of the specified unique id, if it exists.
            </summary>
            <remarks>
            Finds the index of the specified unique id, if it exists.
            </remarks>
            <returns>The index of the specified unique id; otherwise <value>-1</value>.</returns>
            <param name="uid">The unique id.</param>
        </member>
        <member name="M:MailKit.UniqueIdRange.Insert(System.Int32,MailKit.UniqueId)">
            <summary>
            Inserts the specified unique identifier at the given index.
            </summary>
            <remarks>
            Inserts the unique identifier at the specified index in the range.
            </remarks>
            <param name="index">The index to insert the unique id.</param>
            <param name="uid">The unique id.</param>
            <exception cref="T:System.NotSupportedException">
            The list does not support inserting items.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdRange.RemoveAt(System.Int32)">
            <summary>
            Removes the unique identifier at the specified index.
            </summary>
            <remarks>
            Removes the unique identifier at the specified index.
            </remarks>
            <param name="index">The index.</param>
            <exception cref="T:System.NotSupportedException">
            The list does not support removing items.
            </exception>
        </member>
        <member name="P:MailKit.UniqueIdRange.Item(System.Int32)">
            <summary>
            Gets or sets the unique identifier at the specified index.
            </summary>
            <remarks>
            Gets or sets the unique identifier at the specified index.
            </remarks>
            <value>The unique identifier at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The list does not support setting items.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdRange.GetEnumerator">
            <summary>
            Gets an enumerator for the range of unique ids.
            </summary>
            <remarks>
            Gets an enumerator for the range of unique ids.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.UniqueIdRange.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets an enumerator for the range of unique ids.
            </summary>
            <remarks>
            Gets an enumerator for the range of unique ids.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.UniqueIdRange.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueIdRange"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueIdRange"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueIdRange"/>.</returns>
        </member>
        <member name="M:MailKit.UniqueIdRange.TryParse(System.String,System.UInt32,MailKit.UniqueIdRange@)">
            <summary>
            Attempt to parse a unique identifier range.
            </summary>
            <remarks>
            Attempts to parse a unique identifier range.
            </remarks>
            <returns><c>true</c> if the unique identifier range was successfully parsed; otherwise, <c>false.</c>.</returns>
            <param name="token">The token to parse.</param>
            <param name="validity">The UIDVALIDITY value.</param>
            <param name="range">The unique identifier range.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdRange.TryParse(System.String,MailKit.UniqueIdRange@)">
            <summary>
            Attempt to parse a unique identifier range.
            </summary>
            <remarks>
            Attempts to parse a unique identifier range.
            </remarks>
            <returns><c>true</c> if the unique identifier range was successfully parsed; otherwise, <c>false.</c>.</returns>
            <param name="token">The token to parse.</param>
            <param name="range">The unique identifier range.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <c>null</c>.
            </exception>
        </member>
        <member name="T:MailKit.UniqueIdSet">
            <summary>
            A set of unique identifiers.
            </summary>
            <remarks>
            When dealing with a large number of unique identifiers, it may be more efficient to use a
            <see cref="T:MailKit.UniqueIdSet"/> than a typical IList&lt;<see cref="T:MailKit.UniqueId"/>&gt;.
            </remarks>
        </member>
        <member name="M:MailKit.UniqueIdSet.#ctor(System.UInt32,MailKit.Search.SortOrder)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueIdSet"/> class.
            </summary>
            <remarks>
            Creates a new unique identifier set.
            </remarks>
            <param name="validity">The uid validity.</param>
            <param name="order">The sorting order to use for the unique identifiers.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="order"/> is invalid.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.#ctor(MailKit.Search.SortOrder)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueIdSet"/> class.
            </summary>
            <remarks>
            Creates a new unique identifier set.
            </remarks>
            <param name="order">The sorting order to use for the unique identifiers.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="order"/> is invalid.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.#ctor(System.Collections.Generic.IEnumerable{MailKit.UniqueId},MailKit.Search.SortOrder)">
            <summary>
            Initializes a new instance of the <see cref="T:MailKit.UniqueIdSet"/> class.
            </summary>
            <remarks>
            Creates a new set of unique identifier set containing the specified uids.
            </remarks>
            <param name="uids">An initial set of unique ids.</param>
            <param name="order">The sorting order to use for the unique identifiers.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="order"/> is invalid.
            </exception>
        </member>
        <member name="P:MailKit.UniqueIdSet.SortOrder">
            <summary>
            Gets the sort order of the unique identifiers.
            </summary>
            <remarks>
            Gets the sort order of the unique identifiers.
            </remarks>
            <value>The sort order.</value>
        </member>
        <member name="P:MailKit.UniqueIdSet.Validity">
            <summary>
            Gets the validity, if non-zero.
            </summary>
            <remarks>
            Gets the UidValidity of the containing folder.
            </remarks>
            <value>The UidValidity of the containing folder.</value>
        </member>
        <member name="P:MailKit.UniqueIdSet.Count">
            <summary>
            Get the number of unique ids in the set.
            </summary>
            <remarks>
            Gets the number of unique ids in the set.
            </remarks>
            <value>The count.</value>
        </member>
        <member name="P:MailKit.UniqueIdSet.IsReadOnly">
            <summary>
            Get whether or not the set is read only.
            </summary>
            <remarks>
            Gets whether or not the set is read-only.
            </remarks>
            <value><c>true</c> if the set is read only; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:MailKit.UniqueIdSet.Add(MailKit.UniqueId)">
            <summary>
            Adds the unique identifier to the set.
            </summary>
            <remarks>
            Adds the unique identifier to the set.
            </remarks>
            <param name="uid">The unique identifier to add.</param>
            <exception cref="T:System.ArgumentException">
            <paramref name="uid"/> is invalid.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.AddRange(System.Collections.Generic.IEnumerable{MailKit.UniqueId})">
            <summary>
            Adds all of the uids to the set.
            </summary>
            <remarks>
            Adds all of the uids to the set.
            </remarks>
            <param name="uids">The collection of uids.</param>
        </member>
        <member name="M:MailKit.UniqueIdSet.Clear">
            <summary>
            Clears the list.
            </summary>
            <remarks>
            Clears the list.
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            The collection is readonly.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.Contains(MailKit.UniqueId)">
            <summary>
            Checks if the set contains the specified unique id.
            </summary>
            <remarks>
            Determines whether or not the set contains the specified unique id.
            </remarks>
            <returns><value>true</value> if the specified unique identifier is in the set; otherwise <value>false</value>.</returns>
            <param name="uid">The unique id.</param>
        </member>
        <member name="M:MailKit.UniqueIdSet.CopyTo(MailKit.UniqueId[],System.Int32)">
            <summary>
            Copies all of the unique ids in the set to the specified array.
            </summary>
            <remarks>
            Copies all of the unique ids within the set into the array,
            starting at the specified array index.
            </remarks>
            <param name="array">The array to copy the unique ids to.</param>
            <param name="arrayIndex">The index into the array.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="array"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="arrayIndex"/> is out of set.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.Remove(MailKit.UniqueId)">
            <summary>
            Removes the unique identifier from the set.
            </summary>
            <remarks>
            Removes the unique identifier from the set.
            </remarks>
            <returns><value>true</value> if the unique identifier was removed; otherwise <value>false</value>.</returns>
            <param name="uid">The unique identifier to remove.</param>
        </member>
        <member name="M:MailKit.UniqueIdSet.IndexOf(MailKit.UniqueId)">
            <summary>
            Gets the index of the specified unique id, if it exists.
            </summary>
            <remarks>
            Finds the index of the specified unique id, if it exists.
            </remarks>
            <returns>The index of the specified unique id; otherwise <value>-1</value>.</returns>
            <param name="uid">The unique id.</param>
        </member>
        <member name="M:MailKit.UniqueIdSet.Insert(System.Int32,MailKit.UniqueId)">
            <summary>
            Inserts the specified unique identifier at the given index.
            </summary>
            <remarks>
            Inserts the unique identifier at the specified index in the set.
            </remarks>
            <param name="index">The index to insert the unique id.</param>
            <param name="uid">The unique id.</param>
            <exception cref="T:System.NotSupportedException">
            The list does not support inserting items.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.RemoveAt(System.Int32)">
            <summary>
            Removes the unique identifier at the specified index.
            </summary>
            <remarks>
            Removes the unique identifier at the specified index.
            </remarks>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
        </member>
        <member name="P:MailKit.UniqueIdSet.Item(System.Int32)">
            <summary>
            Gets or sets the unique identifier at the specified index.
            </summary>
            <remarks>
            Gets or sets the unique identifier at the specified index.
            </remarks>
            <value>The unique identifier at the specified index.</value>
            <param name="index">The index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is out of range.
            </exception>
            <exception cref="T:System.NotSupportedException">
            The list does not support setting items.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.GetEnumerator">
            <summary>
            Gets an enumerator for the set of unique ids.
            </summary>
            <remarks>
            Gets an enumerator for the set of unique ids.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.UniqueIdSet.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Gets an enumerator for the set of unique ids.
            </summary>
            <remarks>
            Gets an enumerator for the set of unique ids.
            </remarks>
            <returns>The enumerator.</returns>
        </member>
        <member name="M:MailKit.UniqueIdSet.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueIdSet"/>.
            </summary>
            <remarks>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueIdSet"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:MailKit.UniqueIdSet"/>.</returns>
        </member>
        <member name="M:MailKit.UniqueIdSet.ToString(System.Collections.Generic.IList{MailKit.UniqueId})">
            <summary>
            Format a generic list of unique identifiers as a string.
            </summary>
            <remarks>
            Formats a generic list of unique identifiers as a string.
            </remarks>
            <returns>The string representation of the collection of unique identifiers.</returns>
            <param name="uids">The unique identifiers.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the unique identifiers is invalid (has a value of <c>0</c>).
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.EnumerateSerializedSubsets(System.Int32)">
            <summary>
            Format the set of unique identifiers as multiple strings that fit within the maximum defined character length.
            </summary>
            <remarks>
            Formats the set of unique identifiers as multiple strings that fit within the maximum defined character length.
            </remarks>
            <returns>A list of strings representing the collection of unique identifiers.</returns>
            <param name="maxLength">The maximum length of any returned string of UIDs.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxLength"/> is negative.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.EnumerateSerializedSubsets(System.Collections.Generic.IList{MailKit.UniqueId},System.Int32)">
            <summary>
            Format a generic list of unique identifiers as multiple strings that fit within the maximum defined character length.
            </summary>
            <remarks>
            Formats a generic list of unique identifiers as multiple strings that fit within the maximum defined character length.
            </remarks>
            <returns>A list of strings representing the collection of unique identifiers.</returns>
            <param name="uids">The unique identifiers.</param>
            <param name="maxLength">The maximum length of any returned string of UIDs.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="uids"/> is <c>null</c>.
            </exception>
            <exception cref="T:System.ArgumentException">
            One or more of the unique identifiers is invalid (has a value of <c>0</c>).
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="maxLength"/> is negative.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.TryParse(System.String,System.UInt32,MailKit.UniqueIdSet@)">
            <summary>
            Attempt to parse the specified token as a set of unique identifiers.
            </summary>
            <remarks>
            Attempts to parse the specified token as a set of unique identifiers.
            </remarks>
            <returns><c>true</c> if the set of unique identifiers were successfully parsed; otherwise, <c>false</c>.</returns>
            <param name="token">The token containing the set of unique identifiers.</param>
            <param name="validity">The UIDVALIDITY value.</param>
            <param name="uids">The set of unique identifiers.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <c>null</c>.
            </exception>
        </member>
        <member name="M:MailKit.UniqueIdSet.TryParse(System.String,MailKit.UniqueIdSet@)">
            <summary>
            Attempt to parse the specified token as a set of unique identifiers.
            </summary>
            <remarks>
            Attempts to parse the specified token as a set of unique identifiers.
            </remarks>
            <returns><c>true</c> if the set of unique identifiers were successfully parsed; otherwise, <c>false</c>.</returns>
            <param name="token">The token containing the set of unique identifiers.</param>
            <param name="uids">The set of unique identifiers.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="token"/> is <c>null</c>.
            </exception>
        </member>
    </members>
</doc>
