/// <summary>
        /// <para>Begins an asynchronous send to the devices list member devices route.</para>
        /// </summary>
        /// <param name="listMemberDevicesArg">The request parameters.</param>
        /// <param name="callback">The method to be called when the asynchronous send is
        /// completed.</param>
        /// <param name="state">A user provided object that distinguished this send from other
        /// send requests.</param>
        /// <returns>An object that represents the asynchronous send request.</returns>
        public sys.IAsyncResult BeginDevicesListMemberDevices(ListMemberDevicesArg listMemberDevicesArg, sys.AsyncCallback callback, object state = null)
        {
            var task = this.DevicesListMemberDevicesAsync(listMemberDevicesArg);

            return enc.Util.ToApm(task, callback, state);
        }
        /// <summary>
        /// <para>Begins an asynchronous send to the devices list member devices route.</para>
        /// </summary>
        /// <param name="teamMemberId">The team's member id</param>
        /// <param name="includeWebSessions">Whether to list web sessions of the team's
        /// member</param>
        /// <param name="includeDesktopClients">Whether to list linked desktop devices of the
        /// team's member</param>
        /// <param name="includeMobileClients">Whether to list linked mobile devices of the
        /// team's member</param>
        /// <param name="callback">The method to be called when the asynchronous send is
        /// completed.</param>
        /// <param name="callbackState">A user provided object that distinguished this send
        /// from other send requests.</param>
        /// <returns>An object that represents the asynchronous send request.</returns>
        public sys.IAsyncResult BeginDevicesListMemberDevices(string teamMemberId,
                                                              bool includeWebSessions = true,
                                                              bool includeDesktopClients = true,
                                                              bool includeMobileClients = true,
                                                              sys.AsyncCallback callback = null,
                                                              object callbackState = null)
        {
            var listMemberDevicesArg = new ListMemberDevicesArg(teamMemberId,
                                                                includeWebSessions,
                                                                includeDesktopClients,
                                                                includeMobileClients);

            return this.BeginDevicesListMemberDevices(listMemberDevicesArg, callback, callbackState);
        }
 /// <summary>
 /// <para>List all device sessions of a team's member.</para>
 /// </summary>
 /// <param name="listMemberDevicesArg">The request parameters</param>
 /// <returns>The task that represents the asynchronous send operation. The TResult
 /// parameter contains the response from the server.</returns>
 /// <exception cref="Dropbox.Api.ApiException{ListMemberDevicesError}">Thrown if there
 /// is an error processing the request; This will contain a <see
 /// cref="ListMemberDevicesError"/>.</exception>
 public t.Task<ListMemberDevicesResult> DevicesListMemberDevicesAsync(ListMemberDevicesArg listMemberDevicesArg)
 {
     return this.Transport.SendRpcRequestAsync<ListMemberDevicesArg, ListMemberDevicesResult, ListMemberDevicesError>(listMemberDevicesArg, "api", "/team/devices/list_member_devices", Dropbox.Api.Team.ListMemberDevicesArg.Encoder, Dropbox.Api.Team.ListMemberDevicesResult.Decoder, Dropbox.Api.Team.ListMemberDevicesError.Decoder);
 }
        /// <summary>
        /// <para>List all device sessions of a team's member.</para>
        /// </summary>
        /// <param name="teamMemberId">The team's member id</param>
        /// <param name="includeWebSessions">Whether to list web sessions of the team's
        /// member</param>
        /// <param name="includeDesktopClients">Whether to list linked desktop devices of the
        /// team's member</param>
        /// <param name="includeMobileClients">Whether to list linked mobile devices of the
        /// team's member</param>
        /// <returns>The task that represents the asynchronous send operation. The TResult
        /// parameter contains the response from the server.</returns>
        /// <exception cref="Dropbox.Api.ApiException{ListMemberDevicesError}">Thrown if there
        /// is an error processing the request; This will contain a <see
        /// cref="ListMemberDevicesError"/>.</exception>
        public t.Task<ListMemberDevicesResult> DevicesListMemberDevicesAsync(string teamMemberId,
                                                                             bool includeWebSessions = true,
                                                                             bool includeDesktopClients = true,
                                                                             bool includeMobileClients = true)
        {
            var listMemberDevicesArg = new ListMemberDevicesArg(teamMemberId,
                                                                includeWebSessions,
                                                                includeDesktopClients,
                                                                includeMobileClients);

            return this.DevicesListMemberDevicesAsync(listMemberDevicesArg);
        }