/// <summary>
 /// Generates a product mix ideas given a set of preferences. This method
 /// helps the advertiser to obtain a good mix of ad formats and budget
 /// allocations based on its preferences.
 /// </summary>
 /// <param name="request">The request to send to the server.</param>
 /// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
 /// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
 /// <param name="cancellationToken">An optional token for canceling the call.</param>
 /// <returns>The call object.</returns>
 public virtual grpc::AsyncUnaryCall <global::Google.Ads.GoogleAds.V2.Services.GenerateProductMixIdeasResponse> GenerateProductMixIdeasAsync(global::Google.Ads.GoogleAds.V2.Services.GenerateProductMixIdeasRequest request, grpc::Metadata headers = null, global::System.DateTime?deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
 {
     return(GenerateProductMixIdeasAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken)));
 }
 /// <summary>
 /// Generates a product mix ideas given a set of preferences. This method
 /// helps the advertiser to obtain a good mix of ad formats and budget
 /// allocations based on its preferences.
 /// </summary>
 /// <param name="request">The request to send to the server.</param>
 /// <param name="options">The options for the call.</param>
 /// <returns>The call object.</returns>
 public virtual grpc::AsyncUnaryCall <global::Google.Ads.GoogleAds.V2.Services.GenerateProductMixIdeasResponse> GenerateProductMixIdeasAsync(global::Google.Ads.GoogleAds.V2.Services.GenerateProductMixIdeasRequest request, grpc::CallOptions options)
 {
     return(CallInvoker.AsyncUnaryCall(__Method_GenerateProductMixIdeas, null, options, request));
 }
 /// <summary>
 /// Generates a product mix ideas given a set of preferences. This method
 /// helps the advertiser to obtain a good mix of ad formats and budget
 /// allocations based on its preferences.
 /// </summary>
 /// <param name="request">The request received from the client.</param>
 /// <param name="context">The context of the server-side call handler being invoked.</param>
 /// <returns>The response to send back to the client (wrapped by a task).</returns>
 public virtual global::System.Threading.Tasks.Task <global::Google.Ads.GoogleAds.V2.Services.GenerateProductMixIdeasResponse> GenerateProductMixIdeas(global::Google.Ads.GoogleAds.V2.Services.GenerateProductMixIdeasRequest request, grpc::ServerCallContext context)
 {
     throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
 }