/// <summary>
 /// Asynchronously Retrieve Users.
 /// </summary>
 /// <remarks>
 /// Retrieves a list of all users associated with your company,
 /// with optional filters to narrow down the results.
 /// </remarks>
 /// <param name="filter">
 /// An instance of the <see cref="UserFilter"/> class, for narrowing down the results.
 /// </param>
 /// <param name="options">
 /// An instance of the <see cref="RequestOptions"/> class, for customizing method processing.
 /// </param>
 /// <returns>
 /// An enumerable set of <see cref="User"/> objects, along with an output
 /// instance of the <see cref="ResultsMeta"/> class containing additional data.
 /// </returns>
 public async Task <(IList <User>, ResultsMeta)> GetUsersAsync(
     UserFilter filter,
     RequestOptions options)
 {
     return(await GetUsersAsync(filter, options, default).ConfigureAwait(false));
 }
 /// <summary>
 /// Asynchronously Retrieve Users, with support for cancellation.
 /// </summary>
 /// <remarks>
 /// Retrieves a list of all users associated with your company,
 /// with optional filters to narrow down the results.
 /// </remarks>
 /// <param name="options">
 /// An instance of the <see cref="RequestOptions"/> class, for customizing method processing.
 /// </param>
 /// <param name="cancellationToken">
 /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
 /// </param>
 /// <returns>
 /// An enumerable set of <see cref="User"/> objects, along with an output
 /// instance of the <see cref="ResultsMeta"/> class containing additional data.
 /// </returns>
 public async Task <(IList <User>, ResultsMeta)> GetUsersAsync(
     RequestOptions options,
     CancellationToken cancellationToken)
 {
     return(await GetUsersAsync(null, options, cancellationToken).ConfigureAwait(false));
 }
 /// <summary>
 /// Asynchronously Retrieve Groups.
 /// </summary>
 /// <remarks>
 /// Retrieves a list of groups associated with your company, with
 /// optional filters to narrow down the results.
 /// </remarks>
 /// <param name="filter">
 /// An instance of the <see cref="GroupFilter"/> class, for narrowing down the results.
 /// </param>
 /// <param name="options">
 /// An instance of the <see cref="RequestOptions"/> class, for customizing method processing.
 /// </param>
 /// <returns>
 /// An enumerable set of <see cref="Group"/> objects, along with an output
 /// instance of the <see cref="ResultsMeta"/> class containing additional data.
 /// </returns>
 public async Task <(IList <Group>, ResultsMeta)> GetGroupsAsync(
     GroupFilter filter,
     RequestOptions options)
 {
     return(await GetGroupsAsync(filter, options, default).ConfigureAwait(false));
 }
 /// <summary>
 /// Retrieve Users.
 /// </summary>
 /// <remarks>
 /// Retrieves a list of all users associated with your company,
 /// with optional filters to narrow down the results.
 /// </remarks>
 /// <param name="filter">
 /// An instance of the <see cref="UserFilter"/> class, for narrowing down the results.
 /// </param>
 /// <param name="options">
 /// An instance of the <see cref="RequestOptions"/> class, for customizing method processing.
 /// </param>
 /// <returns>
 /// An enumerable set of <see cref="User"/> objects, along with an output
 /// instance of the <see cref="ResultsMeta"/> class containing additional data.
 /// </returns>
 public (IList <User>, ResultsMeta) GetUsers(
     UserFilter filter,
     RequestOptions options)
 {
     return(AsyncUtil.RunSync(() => GetUsersAsync(filter, options)));
 }
 /// <summary>
 /// Retrieve Groups.
 /// </summary>
 /// <remarks>
 /// Retrieves a list of groups associated with your company, with
 /// optional filters to narrow down the results.
 /// </remarks>
 /// <param name="filter">
 /// An instance of the <see cref="GroupFilter"/> class, for narrowing down the results.
 /// </param>
 /// <param name="options">
 /// An instance of the <see cref="RequestOptions"/> class, for customizing method processing.
 /// </param>
 /// <returns>
 /// An enumerable set of <see cref="Group"/> objects, along with an output
 /// instance of the <see cref="ResultsMeta"/> class containing additional data.
 /// </returns>
 public (IList <Group>, ResultsMeta) GetGroups(
     GroupFilter filter,
     RequestOptions options)
 {
     return(AsyncUtil.RunSync(() => GetGroupsAsync(filter, options)));
 }