import type * as gax from 'google-gax';
import type { Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback } from 'google-gax';
import { Transform } from 'stream';
import * as protos from '../../protos/protos';
/**
 *  This API allows users to manage their BigQuery reservations.
 *
 *  A reservation provides computational resource guarantees, in the form of
 *  [slots](https://cloud.google.com/bigquery/docs/slots), to users. A slot is a
 *  unit of computational power in BigQuery, and serves as the basic unit of
 *  parallelism. In a scan of a multi-partitioned table, a single slot operates
 *  on a single partition of the table. A reservation resource exists as a child
 *  resource of the admin project and location, e.g.:
 *    `projects/myproject/locations/US/reservations/reservationName`.
 *
 *  A capacity commitment is a way to purchase compute capacity for BigQuery jobs
 *  (in the form of slots) with some committed period of usage. A capacity
 *  commitment resource exists as a child resource of the admin project and
 *  location, e.g.:
 *    `projects/myproject/locations/US/capacityCommitments/id`.
 * @class
 * @memberof v1
 */
export declare class ReservationServiceClient {
    private _terminated;
    private _opts;
    private _providedCustomServicePath;
    private _gaxModule;
    private _gaxGrpc;
    private _protos;
    private _defaults;
    private _universeDomain;
    private _servicePath;
    private _log;
    auth: gax.GoogleAuth;
    descriptors: Descriptors;
    warn: (code: string, message: string, warnType?: string) => void;
    innerApiCalls: {
        [name: string]: Function;
    };
    pathTemplates: {
        [name: string]: gax.PathTemplate;
    };
    reservationServiceStub?: Promise<{
        [name: string]: Function;
    }>;
    /**
     * Construct an instance of ReservationServiceClient.
     *
     * @param {object} [options] - The configuration object.
     * The options accepted by the constructor are described in detail
     * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
     * The common options are:
     * @param {object} [options.credentials] - Credentials object.
     * @param {string} [options.credentials.client_email]
     * @param {string} [options.credentials.private_key]
     * @param {string} [options.email] - Account email address. Required when
     *     using a .pem or .p12 keyFilename.
     * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
     *     .p12 key downloaded from the Google Developers Console. If you provide
     *     a path to a JSON file, the projectId option below is not necessary.
     *     NOTE: .pem and .p12 require you to specify options.email as well.
     * @param {number} [options.port] - The port on which to connect to
     *     the remote host.
     * @param {string} [options.projectId] - The project ID from the Google
     *     Developer's Console, e.g. 'grape-spaceship-123'. We will also check
     *     the environment variable GCLOUD_PROJECT for your project ID. If your
     *     app is running in an environment which supports
     *     {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials},
     *     your project ID will be detected automatically.
     * @param {string} [options.apiEndpoint] - The domain name of the
     *     API remote host.
     * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
     *     Follows the structure of {@link gapicConfig}.
     * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
     *     For more information, please check the
     *     {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
     * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
     *     need to avoid loading the default gRPC version and want to use the fallback
     *     HTTP implementation. Load only fallback version and pass it to the constructor:
     *     ```
     *     const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
     *     const client = new ReservationServiceClient({fallback: true}, gax);
     *     ```
     */
    constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);
    /**
     * Initialize the client.
     * Performs asynchronous operations (such as authentication) and prepares the client.
     * This function will be called automatically when any class method is called for the
     * first time, but if you need to initialize it before calling an actual method,
     * feel free to call initialize() directly.
     *
     * You can await on this method if you want to make sure the client is initialized.
     *
     * @returns {Promise} A promise that resolves to an authenticated service stub.
     */
    initialize(): Promise<{
        [name: string]: Function;
    }>;
    /**
     * The DNS address for this API service.
     * @deprecated Use the apiEndpoint method of the client instance.
     * @returns {string} The DNS address for this service.
     */
    static get servicePath(): string;
    /**
     * The DNS address for this API service - same as servicePath.
     * @deprecated Use the apiEndpoint method of the client instance.
     * @returns {string} The DNS address for this service.
     */
    static get apiEndpoint(): string;
    /**
     * The DNS address for this API service.
     * @returns {string} The DNS address for this service.
     */
    get apiEndpoint(): string;
    get universeDomain(): string;
    /**
     * The port for this API service.
     * @returns {number} The default port for this service.
     */
    static get port(): number;
    /**
     * The scopes needed to make gRPC calls for every method defined
     * in this service.
     * @returns {string[]} List of default scopes.
     */
    static get scopes(): string[];
    getProjectId(): Promise<string>;
    getProjectId(callback: Callback<string, undefined, undefined>): void;
    /**
     * Creates a new reservation resource.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. Project, location. E.g.,
     *   `projects/myproject/locations/US`
     * @param {string} request.reservationId
     *   The reservation ID. It must only contain lower case alphanumeric
     *   characters or dashes. It must start with a letter and must not end
     *   with a dash. Its maximum length is 64 characters.
     * @param {google.cloud.bigquery.reservation.v1.Reservation} request.reservation
     *   Definition of the new reservation to create.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.create_reservation.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_CreateReservation_async
     */
    createReservation(request?: protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IReservation,
        protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest | undefined,
        {} | undefined
    ]>;
    createReservation(request: protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservation, protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest | null | undefined, {} | null | undefined>): void;
    createReservation(request: protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservation, protos.google.cloud.bigquery.reservation.v1.ICreateReservationRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Returns information about the reservation.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Resource name of the reservation to retrieve. E.g.,
     *      `projects/myproject/locations/US/reservations/team1-prod`
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.get_reservation.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_GetReservation_async
     */
    getReservation(request?: protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IReservation,
        protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest | undefined,
        {} | undefined
    ]>;
    getReservation(request: protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservation, protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest | null | undefined, {} | null | undefined>): void;
    getReservation(request: protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservation, protos.google.cloud.bigquery.reservation.v1.IGetReservationRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Deletes a reservation.
     * Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has
     * assignments.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Resource name of the reservation to retrieve. E.g.,
     *      `projects/myproject/locations/US/reservations/team1-prod`
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.delete_reservation.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_DeleteReservation_async
     */
    deleteReservation(request?: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest, options?: CallOptions): Promise<[
        protos.google.protobuf.IEmpty,
        protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest | undefined,
        {} | undefined
    ]>;
    deleteReservation(request: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest | null | undefined, {} | null | undefined>): void;
    deleteReservation(request: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.bigquery.reservation.v1.IDeleteReservationRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Updates an existing reservation resource.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {google.cloud.bigquery.reservation.v1.Reservation} request.reservation
     *   Content of the reservation to update.
     * @param {google.protobuf.FieldMask} request.updateMask
     *   Standard field mask for the set of fields to be updated.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.update_reservation.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateReservation_async
     */
    updateReservation(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IReservation,
        protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest | undefined,
        {} | undefined
    ]>;
    updateReservation(request: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservation, protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest | null | undefined, {} | null | undefined>): void;
    updateReservation(request: protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservation, protos.google.cloud.bigquery.reservation.v1.IUpdateReservationRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Fail over a reservation to the secondary location. The operation should be
     * done in the current secondary location, which will be promoted to the
     * new primary location for the reservation.
     * Attempting to failover a reservation in the current primary location will
     * fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Resource name of the reservation to failover. E.g.,
     *      `projects/myproject/locations/US/reservations/team1-prod`
     * @param {google.cloud.bigquery.reservation.v1.FailoverMode} [request.failoverMode]
     *   Optional. A parameter that determines how writes that are pending
     *   replication are handled after a failover is initiated. If not specified,
     *   HARD failover mode is used by default.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.failover_reservation.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_FailoverReservation_async
     */
    failoverReservation(request?: protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IReservation,
        protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest | undefined,
        {} | undefined
    ]>;
    failoverReservation(request: protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservation, protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest | null | undefined, {} | null | undefined>): void;
    failoverReservation(request: protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservation, protos.google.cloud.bigquery.reservation.v1.IFailoverReservationRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Creates a new capacity commitment resource.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. Resource name of the parent reservation. E.g.,
     *      `projects/myproject/locations/US`
     * @param {google.cloud.bigquery.reservation.v1.CapacityCommitment} request.capacityCommitment
     *   Content of the capacity commitment to create.
     * @param {boolean} request.enforceSingleAdminProjectPerOrg
     *   If true, fail the request if another project in the organization has a
     *   capacity commitment.
     * @param {string} request.capacityCommitmentId
     *   The optional capacity commitment ID. Capacity commitment name will be
     *   generated automatically if this field is empty.
     *   This field must only contain lower case alphanumeric characters or dashes.
     *   The first and last character cannot be a dash. Max length is 64 characters.
     *   NOTE: this ID won't be kept if the capacity commitment is split or merged.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.create_capacity_commitment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_CreateCapacityCommitment_async
     */
    createCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment,
        protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest | undefined,
        {} | undefined
    ]>;
    createCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    createCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, protos.google.cloud.bigquery.reservation.v1.ICreateCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Returns information about the capacity commitment.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Resource name of the capacity commitment to retrieve. E.g.,
     *      `projects/myproject/locations/US/capacityCommitments/123`
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.get_capacity_commitment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_GetCapacityCommitment_async
     */
    getCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment,
        protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest | undefined,
        {} | undefined
    ]>;
    getCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    getCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, protos.google.cloud.bigquery.reservation.v1.IGetCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Deletes a capacity commitment. Attempting to delete capacity commitment
     * before its commitment_end_time will fail with the error code
     * `google.rpc.Code.FAILED_PRECONDITION`.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Resource name of the capacity commitment to delete. E.g.,
     *      `projects/myproject/locations/US/capacityCommitments/123`
     * @param {boolean} request.force
     *   Can be used to force delete commitments even if assignments exist. Deleting
     *   commitments with assignments may cause queries to fail if they no longer
     *   have access to slots.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.delete_capacity_commitment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_DeleteCapacityCommitment_async
     */
    deleteCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest, options?: CallOptions): Promise<[
        protos.google.protobuf.IEmpty,
        protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest | undefined,
        {} | undefined
    ]>;
    deleteCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    deleteCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.bigquery.reservation.v1.IDeleteCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Updates an existing capacity commitment.
     *
     * Only `plan` and `renewal_plan` fields can be updated.
     *
     * Plan can only be changed to a plan of a longer commitment period.
     * Attempting to change to a plan with shorter commitment period will fail
     * with the error code `google.rpc.Code.FAILED_PRECONDITION`.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {google.cloud.bigquery.reservation.v1.CapacityCommitment} request.capacityCommitment
     *   Content of the capacity commitment to update.
     * @param {google.protobuf.FieldMask} request.updateMask
     *   Standard field mask for the set of fields to be updated.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.update_capacity_commitment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateCapacityCommitment_async
     */
    updateCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment,
        protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest | undefined,
        {} | undefined
    ]>;
    updateCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    updateCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, protos.google.cloud.bigquery.reservation.v1.IUpdateCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Splits capacity commitment to two commitments of the same plan and
     * `commitment_end_time`.
     *
     * A common use case is to enable downgrading commitments.
     *
     * For example, in order to downgrade from 10000 slots to 8000, you might
     * split a 10000 capacity commitment into commitments of 2000 and 8000. Then,
     * you delete the first one after the commitment end time passes.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. The resource name e.g.,:
     *    `projects/myproject/locations/US/capacityCommitments/123`
     * @param {number} request.slotCount
     *   Number of slots in the capacity commitment after the split.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.SplitCapacityCommitmentResponse|SplitCapacityCommitmentResponse}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.split_capacity_commitment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_SplitCapacityCommitment_async
     */
    splitCapacityCommitment(request?: protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentResponse,
        protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest | undefined,
        {} | undefined
    ]>;
    splitCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentResponse, protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    splitCapacityCommitment(request: protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentResponse, protos.google.cloud.bigquery.reservation.v1.ISplitCapacityCommitmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Merges capacity commitments of the same plan into a single commitment.
     *
     * The resulting capacity commitment has the greater commitment_end_time
     * out of the to-be-merged capacity commitments.
     *
     * Attempting to merge capacity commitments of different plan will fail
     * with the error code `google.rpc.Code.FAILED_PRECONDITION`.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Parent resource that identifies admin project and location e.g.,
     *    `projects/myproject/locations/us`
     * @param {string[]} request.capacityCommitmentIds
     *   Ids of capacity commitments to merge.
     *   These capacity commitments must exist under admin project and location
     *   specified in the parent.
     *   ID is the last portion of capacity commitment name e.g., 'abc' for
     *   projects/myproject/locations/US/capacityCommitments/abc
     * @param {string} [request.capacityCommitmentId]
     *   Optional. The optional resulting capacity commitment ID. Capacity
     *   commitment name will be generated automatically if this field is empty.
     *   This field must only contain lower case alphanumeric characters or dashes.
     *   The first and last character cannot be a dash. Max length is 64 characters.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.merge_capacity_commitments.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_MergeCapacityCommitments_async
     */
    mergeCapacityCommitments(request?: protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment,
        protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest | undefined,
        {} | undefined
    ]>;
    mergeCapacityCommitments(request: protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest | null | undefined, {} | null | undefined>): void;
    mergeCapacityCommitments(request: protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment, protos.google.cloud.bigquery.reservation.v1.IMergeCapacityCommitmentsRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Creates an assignment object which allows the given project to submit jobs
     * of a certain type using slots from the specified reservation.
     *
     * Currently a
     * resource (project, folder, organization) can only have one assignment per
     * each (job_type, location) combination, and that reservation will be used
     * for all jobs of the matching type.
     *
     * Different assignments can be created on different levels of the
     * projects, folders or organization hierarchy.  During query execution,
     * the assignment is looked up at the project, folder and organization levels
     * in that order. The first assignment found is applied to the query.
     *
     * When creating assignments, it does not matter if other assignments exist at
     * higher levels.
     *
     * Example:
     *
     * * The organization `organizationA` contains two projects, `project1`
     *   and `project2`.
     * * Assignments for all three entities (`organizationA`, `project1`, and
     *   `project2`) could all be created and mapped to the same or different
     *   reservations.
     *
     * "None" assignments represent an absence of the assignment. Projects
     * assigned to None use on-demand pricing. To create a "None" assignment, use
     * "none" as a reservation_id in the parent. Example parent:
     * `projects/myproject/locations/US/reservations/none`.
     *
     * Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have
     * 'bigquery.admin' permissions on the project using the reservation
     * and the project that owns this reservation.
     *
     * Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment
     * does not match location of the reservation.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource name of the assignment
     *   E.g. `projects/myproject/locations/US/reservations/team1-prod`
     * @param {google.cloud.bigquery.reservation.v1.Assignment} request.assignment
     *   Assignment resource to create.
     * @param {string} request.assignmentId
     *   The optional assignment ID. Assignment name will be generated automatically
     *   if this field is empty.
     *   This field must only contain lower case alphanumeric characters or dashes.
     *   Max length is 64 characters.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.create_assignment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_CreateAssignment_async
     */
    createAssignment(request?: protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IAssignment,
        protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest | undefined,
        {} | undefined
    ]>;
    createAssignment(request: protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IAssignment, protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest | null | undefined, {} | null | undefined>): void;
    createAssignment(request: protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IAssignment, protos.google.cloud.bigquery.reservation.v1.ICreateAssignmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Deletes a assignment. No expansion will happen.
     *
     * Example:
     *
     * * Organization `organizationA` contains two projects, `project1` and
     *   `project2`.
     * * Reservation `res1` exists and was created previously.
     * * CreateAssignment was used previously to define the following
     *   associations between entities and reservations: `<organizationA, res1>`
     *   and `<project1, res1>`
     *
     * In this example, deletion of the `<organizationA, res1>` assignment won't
     * affect the other assignment `<project1, res1>`. After said deletion,
     * queries from `project1` will still use `res1` while queries from
     * `project2` will switch to use on-demand mode.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Name of the resource, e.g.
     *     `projects/myproject/locations/US/reservations/team1-prod/assignments/123`
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.delete_assignment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_DeleteAssignment_async
     */
    deleteAssignment(request?: protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest, options?: CallOptions): Promise<[
        protos.google.protobuf.IEmpty,
        protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest | undefined,
        {} | undefined
    ]>;
    deleteAssignment(request: protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest | null | undefined, {} | null | undefined>): void;
    deleteAssignment(request: protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.bigquery.reservation.v1.IDeleteAssignmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Moves an assignment under a new reservation.
     *
     * This differs from removing an existing assignment and recreating a new one
     * by providing a transactional change that ensures an assignee always has an
     * associated reservation.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. The resource name of the assignment,
     *   e.g.
     *   `projects/myproject/locations/US/reservations/team1-prod/assignments/123`
     * @param {string} request.destinationId
     *   The new reservation ID, e.g.:
     *     `projects/myotherproject/locations/US/reservations/team2-prod`
     * @param {string} request.assignmentId
     *   The optional assignment ID. A new assignment name is generated if this
     *   field is empty.
     *
     *   This field can contain only lowercase alphanumeric characters or dashes.
     *   Max length is 64 characters.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.move_assignment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_MoveAssignment_async
     */
    moveAssignment(request?: protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IAssignment,
        protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest | undefined,
        {} | undefined
    ]>;
    moveAssignment(request: protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IAssignment, protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest | null | undefined, {} | null | undefined>): void;
    moveAssignment(request: protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IAssignment, protos.google.cloud.bigquery.reservation.v1.IMoveAssignmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Updates an existing assignment.
     *
     * Only the `priority` field can be updated.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {google.cloud.bigquery.reservation.v1.Assignment} request.assignment
     *   Content of the assignment to update.
     * @param {google.protobuf.FieldMask} request.updateMask
     *   Standard field mask for the set of fields to be updated.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.update_assignment.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateAssignment_async
     */
    updateAssignment(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IAssignment,
        protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest | undefined,
        {} | undefined
    ]>;
    updateAssignment(request: protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IAssignment, protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest | null | undefined, {} | null | undefined>): void;
    updateAssignment(request: protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IAssignment, protos.google.cloud.bigquery.reservation.v1.IUpdateAssignmentRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Retrieves a BI reservation.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Name of the requested reservation, for example:
     *   `projects/{project_id}/locations/{location_id}/biReservation`
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.BiReservation|BiReservation}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.get_bi_reservation.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_GetBiReservation_async
     */
    getBiReservation(request?: protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IBiReservation,
        protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest | undefined,
        {} | undefined
    ]>;
    getBiReservation(request: protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IBiReservation, protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest | null | undefined, {} | null | undefined>): void;
    getBiReservation(request: protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IBiReservation, protos.google.cloud.bigquery.reservation.v1.IGetBiReservationRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Updates a BI reservation.
     *
     * Only fields specified in the `field_mask` are updated.
     *
     * A singleton BI reservation always exists with default size 0.
     * In order to reserve BI capacity it needs to be updated to an amount
     * greater than 0. In order to release BI capacity reservation size
     * must be set to 0.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {google.cloud.bigquery.reservation.v1.BiReservation} request.biReservation
     *   A reservation to update.
     * @param {google.protobuf.FieldMask} request.updateMask
     *   A list of fields to be updated in this request.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.BiReservation|BiReservation}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.update_bi_reservation.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_UpdateBiReservation_async
     */
    updateBiReservation(request?: protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IBiReservation,
        protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest | undefined,
        {} | undefined
    ]>;
    updateBiReservation(request: protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IBiReservation, protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest | null | undefined, {} | null | undefined>): void;
    updateBiReservation(request: protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IBiReservation, protos.google.cloud.bigquery.reservation.v1.IUpdateBiReservationRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Gets the access control policy for a resource.
     * May return:
     *
     * * A`NOT_FOUND` error if the resource doesn't exist or you don't have the
     *   permission to view it.
     * * An empty policy if the resource exists but doesn't have a set policy.
     *
     * Supported resources are:
     * - Reservations
     * - ReservationAssignments
     *
     * To call this method, you must have the following Google IAM permissions:
     *
     * - `bigqueryreservation.reservations.getIamPolicy` to get policies on
     * reservations.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.resource
     *   REQUIRED: The resource for which the policy is being requested.
     *   See the operation documentation for the appropriate value for this field.
     * @param {google.iam.v1.GetPolicyOptions} request.options
     *   OPTIONAL: A `GetPolicyOptions` object for specifying options to
     *   `GetIamPolicy`.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.get_iam_policy.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_GetIamPolicy_async
     */
    getIamPolicy(request?: protos.google.iam.v1.IGetIamPolicyRequest, options?: CallOptions): Promise<[
        protos.google.iam.v1.IPolicy,
        protos.google.iam.v1.IGetIamPolicyRequest | undefined,
        {} | undefined
    ]>;
    getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
    getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Sets an access control policy for a resource. Replaces any existing
     * policy.
     *
     * Supported resources are:
     * - Reservations
     *
     * To call this method, you must have the following Google IAM permissions:
     *
     * - `bigqueryreservation.reservations.setIamPolicy` to set policies on
     * reservations.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.resource
     *   REQUIRED: The resource for which the policy is being specified.
     *   See the operation documentation for the appropriate value for this field.
     * @param {google.iam.v1.Policy} request.policy
     *   REQUIRED: The complete policy to be applied to the `resource`. The size of
     *   the policy is limited to a few 10s of KB. An empty policy is a
     *   valid policy but certain Cloud Platform services (such as Projects)
     *   might reject them.
     * @param {google.protobuf.FieldMask} request.updateMask
     *   OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
     *   the fields in the mask will be modified. If no mask is provided, the
     *   following default mask is used:
     *
     *   `paths: "bindings, etag"`
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.set_iam_policy.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_SetIamPolicy_async
     */
    setIamPolicy(request?: protos.google.iam.v1.ISetIamPolicyRequest, options?: CallOptions): Promise<[
        protos.google.iam.v1.IPolicy,
        protos.google.iam.v1.ISetIamPolicyRequest | undefined,
        {} | undefined
    ]>;
    setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
    setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Gets your permissions on a resource. Returns an empty set of permissions if
     * the resource doesn't exist.
     *
     * Supported resources are:
     * - Reservations
     *
     * No Google IAM permissions are required to call this method.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.resource
     *   REQUIRED: The resource for which the policy detail is being requested.
     *   See the operation documentation for the appropriate value for this field.
     * @param {string[]} request.permissions
     *   The set of permissions to check for the `resource`. Permissions with
     *   wildcards (such as '*' or 'storage.*') are not allowed. For more
     *   information see
     *   [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.test_iam_permissions.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_TestIamPermissions_async
     */
    testIamPermissions(request?: protos.google.iam.v1.ITestIamPermissionsRequest, options?: CallOptions): Promise<[
        protos.google.iam.v1.ITestIamPermissionsResponse,
        protos.google.iam.v1.ITestIamPermissionsRequest | undefined,
        {} | undefined
    ]>;
    testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>): void;
    testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, callback: Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Creates a new reservation group.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. Project, location. E.g.,
     *   `projects/myproject/locations/US`
     * @param {string} request.reservationGroupId
     *   Required. The reservation group ID. It must only contain lower case
     *   alphanumeric characters or dashes. It must start with a letter and must not
     *   end with a dash. Its maximum length is 64 characters.
     * @param {google.cloud.bigquery.reservation.v1.ReservationGroup} request.reservationGroup
     *   Required. New Reservation Group to create.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.create_reservation_group.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_CreateReservationGroup_async
     */
    createReservationGroup(request?: protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IReservationGroup,
        protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest | undefined,
        {} | undefined
    ]>;
    createReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservationGroup, protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest | null | undefined, {} | null | undefined>): void;
    createReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservationGroup, protos.google.cloud.bigquery.reservation.v1.ICreateReservationGroupRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Returns information about the reservation group.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Resource name of the reservation group to retrieve. E.g.,
     *      `projects/myproject/locations/US/reservationGroups/team1-prod`
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.get_reservation_group.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_GetReservationGroup_async
     */
    getReservationGroup(request?: protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IReservationGroup,
        protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest | undefined,
        {} | undefined
    ]>;
    getReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest, options: CallOptions, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservationGroup, protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest | null | undefined, {} | null | undefined>): void;
    getReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest, callback: Callback<protos.google.cloud.bigquery.reservation.v1.IReservationGroup, protos.google.cloud.bigquery.reservation.v1.IGetReservationGroupRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Deletes a reservation.
     * Returns `google.rpc.Code.FAILED_PRECONDITION` when reservation has
     * assignments.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Resource name of the reservation group to retrieve. E.g.,
     *      `projects/myproject/locations/US/reservationGroups/team1-prod`
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.delete_reservation_group.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_DeleteReservationGroup_async
     */
    deleteReservationGroup(request?: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest, options?: CallOptions): Promise<[
        protos.google.protobuf.IEmpty,
        protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest | undefined,
        {} | undefined
    ]>;
    deleteReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest | null | undefined, {} | null | undefined>): void;
    deleteReservationGroup(request: protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.cloud.bigquery.reservation.v1.IDeleteReservationGroupRequest | null | undefined, {} | null | undefined>): void;
    /**
    * Lists all the reservations for the project in the specified location.
    *
    * @param {Object} request
    *   The request object that will be sent.
    * @param {string} request.parent
    *   Required. The parent resource name containing project and location, e.g.:
    *     `projects/myproject/locations/US`
    * @param {number} request.pageSize
    *   The maximum number of items to return per page.
    * @param {string} request.pageToken
    *   The next_page_token value returned from a previous List request, if any.
    * @param {object} [options]
    *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
    * @returns {Promise} - The promise which resolves to an array.
    *   The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}.
    *   The client library will perform auto-pagination by default: it will call the API as many
    *   times as needed and will merge results from all the pages into this array.
    *   Note that it can affect your quota.
    *   We recommend using `listReservationsAsync()`
    *   method described below for async iteration which you can stop as needed.
    *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
    *   for more details and examples.
    */
    listReservations(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IReservation[],
        protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest | null,
        protos.google.cloud.bigquery.reservation.v1.IListReservationsResponse
    ]>;
    listReservations(request: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, protos.google.cloud.bigquery.reservation.v1.IListReservationsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IReservation>): void;
    listReservations(request: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, protos.google.cloud.bigquery.reservation.v1.IListReservationsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IReservation>): void;
    /**
     * Equivalent to `listReservations`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource name containing project and location, e.g.:
     *     `projects/myproject/locations/US`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Stream}
     *   An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation} on 'data' event.
     *   The client library will perform auto-pagination by default: it will call the API as many
     *   times as needed. Note that it can affect your quota.
     *   We recommend using `listReservationsAsync()`
     *   method described below for async iteration which you can stop as needed.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     */
    listReservationsStream(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `listReservations`, but returns an iterable object.
     *
     * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource name containing project and location, e.g.:
     *     `projects/myproject/locations/US`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Object}
     *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
     *   When you iterate the returned iterable, each element will be an object representing
     *   {@link protos.google.cloud.bigquery.reservation.v1.Reservation|Reservation}. The API will be called under the hood as needed, once per the page,
     *   so you can stop the iteration when you don't need more results.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.list_reservations.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_ListReservations_async
     */
    listReservationsAsync(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.bigquery.reservation.v1.IReservation>;
    /**
    * Lists all the capacity commitments for the admin project.
    *
    * @param {Object} request
    *   The request object that will be sent.
    * @param {string} request.parent
    *   Required. Resource name of the parent reservation. E.g.,
    *      `projects/myproject/locations/US`
    * @param {number} request.pageSize
    *   The maximum number of items to return.
    * @param {string} request.pageToken
    *   The next_page_token value returned from a previous List request, if any.
    * @param {object} [options]
    *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
    * @returns {Promise} - The promise which resolves to an array.
    *   The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}.
    *   The client library will perform auto-pagination by default: it will call the API as many
    *   times as needed and will merge results from all the pages into this array.
    *   Note that it can affect your quota.
    *   We recommend using `listCapacityCommitmentsAsync()`
    *   method described below for async iteration which you can stop as needed.
    *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
    *   for more details and examples.
    */
    listCapacityCommitments(request?: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment[],
        protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest | null,
        protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsResponse
    ]>;
    listCapacityCommitments(request: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment>): void;
    listCapacityCommitments(request: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment>): void;
    /**
     * Equivalent to `listCapacityCommitments`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. Resource name of the parent reservation. E.g.,
     *      `projects/myproject/locations/US`
     * @param {number} request.pageSize
     *   The maximum number of items to return.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Stream}
     *   An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment} on 'data' event.
     *   The client library will perform auto-pagination by default: it will call the API as many
     *   times as needed. Note that it can affect your quota.
     *   We recommend using `listCapacityCommitmentsAsync()`
     *   method described below for async iteration which you can stop as needed.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     */
    listCapacityCommitmentsStream(request?: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `listCapacityCommitments`, but returns an iterable object.
     *
     * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. Resource name of the parent reservation. E.g.,
     *      `projects/myproject/locations/US`
     * @param {number} request.pageSize
     *   The maximum number of items to return.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Object}
     *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
     *   When you iterate the returned iterable, each element will be an object representing
     *   {@link protos.google.cloud.bigquery.reservation.v1.CapacityCommitment|CapacityCommitment}. The API will be called under the hood as needed, once per the page,
     *   so you can stop the iteration when you don't need more results.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.list_capacity_commitments.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_ListCapacityCommitments_async
     */
    listCapacityCommitmentsAsync(request?: protos.google.cloud.bigquery.reservation.v1.IListCapacityCommitmentsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.bigquery.reservation.v1.ICapacityCommitment>;
    /**
    * Lists assignments.
    *
    * Only explicitly created assignments will be returned.
    *
    * Example:
    *
    * * Organization `organizationA` contains two projects, `project1` and
    *   `project2`.
    * * Reservation `res1` exists and was created previously.
    * * CreateAssignment was used previously to define the following
    *   associations between entities and reservations: `<organizationA, res1>`
    *   and `<project1, res1>`
    *
    * In this example, ListAssignments will just return the above two assignments
    * for reservation `res1`, and no expansion/merge will happen.
    *
    * The wildcard "-" can be used for
    * reservations in the request. In that case all assignments belongs to the
    * specified project and location will be listed.
    *
    * **Note** "-" cannot be used for projects nor locations.
    *
    * @param {Object} request
    *   The request object that will be sent.
    * @param {string} request.parent
    *   Required. The parent resource name e.g.:
    *
    *   `projects/myproject/locations/US/reservations/team1-prod`
    *
    *   Or:
    *
    *   `projects/myproject/locations/US/reservations/-`
    * @param {number} request.pageSize
    *   The maximum number of items to return per page.
    * @param {string} request.pageToken
    *   The next_page_token value returned from a previous List request, if any.
    * @param {object} [options]
    *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
    * @returns {Promise} - The promise which resolves to an array.
    *   The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}.
    *   The client library will perform auto-pagination by default: it will call the API as many
    *   times as needed and will merge results from all the pages into this array.
    *   Note that it can affect your quota.
    *   We recommend using `listAssignmentsAsync()`
    *   method described below for async iteration which you can stop as needed.
    *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
    *   for more details and examples.
    */
    listAssignments(request?: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IAssignment[],
        protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest | null,
        protos.google.cloud.bigquery.reservation.v1.IListAssignmentsResponse
    ]>;
    listAssignments(request: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, protos.google.cloud.bigquery.reservation.v1.IListAssignmentsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IAssignment>): void;
    listAssignments(request: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, protos.google.cloud.bigquery.reservation.v1.IListAssignmentsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IAssignment>): void;
    /**
     * Equivalent to `listAssignments`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource name e.g.:
     *
     *   `projects/myproject/locations/US/reservations/team1-prod`
     *
     *   Or:
     *
     *   `projects/myproject/locations/US/reservations/-`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Stream}
     *   An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment} on 'data' event.
     *   The client library will perform auto-pagination by default: it will call the API as many
     *   times as needed. Note that it can affect your quota.
     *   We recommend using `listAssignmentsAsync()`
     *   method described below for async iteration which you can stop as needed.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     */
    listAssignmentsStream(request?: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `listAssignments`, but returns an iterable object.
     *
     * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource name e.g.:
     *
     *   `projects/myproject/locations/US/reservations/team1-prod`
     *
     *   Or:
     *
     *   `projects/myproject/locations/US/reservations/-`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Object}
     *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
     *   When you iterate the returned iterable, each element will be an object representing
     *   {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. The API will be called under the hood as needed, once per the page,
     *   so you can stop the iteration when you don't need more results.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.list_assignments.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_ListAssignments_async
     */
    listAssignmentsAsync(request?: protos.google.cloud.bigquery.reservation.v1.IListAssignmentsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.bigquery.reservation.v1.IAssignment>;
    /**
    * Deprecated: Looks up assignments for a specified resource for a particular
    * region. If the request is about a project:
    *
    * 1. Assignments created on the project will be returned if they exist.
    * 2. Otherwise assignments created on the closest ancestor will be
    *    returned.
    * 3. Assignments for different JobTypes will all be returned.
    *
    * The same logic applies if the request is about a folder.
    *
    * If the request is about an organization, then assignments created on the
    * organization will be returned (organization doesn't have ancestors).
    *
    * Comparing to ListAssignments, there are some behavior
    * differences:
    *
    * 1. permission on the assignee will be verified in this API.
    * 2. Hierarchy lookup (project->folder->organization) happens in this API.
    * 3. Parent here is `projects/* /locations/*`, instead of
    *    `projects/* /locations/*reservations/*`.
    *
    * **Note** "-" cannot be used for projects
    * nor locations.
    *
    * @param {Object} request
    *   The request object that will be sent.
    * @param {string} request.parent
    *   Required. The resource name of the admin project(containing project and
    *   location), e.g.:
    *     `projects/myproject/locations/US`.
    * @param {string} request.query
    *   Please specify resource name as assignee in the query.
    *
    *   Examples:
    *
    *   * `assignee=projects/myproject`
    *   * `assignee=folders/123`
    *   * `assignee=organizations/456`
    * @param {number} request.pageSize
    *   The maximum number of items to return per page.
    * @param {string} request.pageToken
    *   The next_page_token value returned from a previous List request, if any.
    * @param {object} [options]
    *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
    * @returns {Promise} - The promise which resolves to an array.
    *   The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}.
    *   The client library will perform auto-pagination by default: it will call the API as many
    *   times as needed and will merge results from all the pages into this array.
    *   Note that it can affect your quota.
    *   We recommend using `searchAssignmentsAsync()`
    *   method described below for async iteration which you can stop as needed.
    *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
    *   for more details and examples.
    * @deprecated SearchAssignments is deprecated and may be removed in a future version.
    */
    searchAssignments(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IAssignment[],
        protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest | null,
        protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsResponse
    ]>;
    searchAssignments(request: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IAssignment>): void;
    searchAssignments(request: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IAssignment>): void;
    /**
     * Equivalent to `searchAssignments`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The resource name of the admin project(containing project and
     *   location), e.g.:
     *     `projects/myproject/locations/US`.
     * @param {string} request.query
     *   Please specify resource name as assignee in the query.
     *
     *   Examples:
     *
     *   * `assignee=projects/myproject`
     *   * `assignee=folders/123`
     *   * `assignee=organizations/456`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Stream}
     *   An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment} on 'data' event.
     *   The client library will perform auto-pagination by default: it will call the API as many
     *   times as needed. Note that it can affect your quota.
     *   We recommend using `searchAssignmentsAsync()`
     *   method described below for async iteration which you can stop as needed.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     * @deprecated SearchAssignments is deprecated and may be removed in a future version.
     */
    searchAssignmentsStream(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `searchAssignments`, but returns an iterable object.
     *
     * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The resource name of the admin project(containing project and
     *   location), e.g.:
     *     `projects/myproject/locations/US`.
     * @param {string} request.query
     *   Please specify resource name as assignee in the query.
     *
     *   Examples:
     *
     *   * `assignee=projects/myproject`
     *   * `assignee=folders/123`
     *   * `assignee=organizations/456`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Object}
     *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
     *   When you iterate the returned iterable, each element will be an object representing
     *   {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. The API will be called under the hood as needed, once per the page,
     *   so you can stop the iteration when you don't need more results.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.search_assignments.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_SearchAssignments_async
     * @deprecated SearchAssignments is deprecated and may be removed in a future version.
     */
    searchAssignmentsAsync(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAssignmentsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.bigquery.reservation.v1.IAssignment>;
    /**
    * Looks up assignments for a specified resource for a particular region.
    * If the request is about a project:
    *
    * 1. Assignments created on the project will be returned if they exist.
    * 2. Otherwise assignments created on the closest ancestor will be
    *    returned.
    * 3. Assignments for different JobTypes will all be returned.
    *
    * The same logic applies if the request is about a folder.
    *
    * If the request is about an organization, then assignments created on the
    * organization will be returned (organization doesn't have ancestors).
    *
    * Comparing to ListAssignments, there are some behavior
    * differences:
    *
    * 1. permission on the assignee will be verified in this API.
    * 2. Hierarchy lookup (project->folder->organization) happens in this API.
    * 3. Parent here is `projects/* /locations/*`, instead of
    *    `projects/* /locations/*reservations/*`.
    *
    * @param {Object} request
    *   The request object that will be sent.
    * @param {string} request.parent
    *   Required. The resource name with location (project name could be the
    *   wildcard '-'), e.g.:
    *     `projects/-/locations/US`.
    * @param {string} request.query
    *   Please specify resource name as assignee in the query.
    *
    *   Examples:
    *
    *   * `assignee=projects/myproject`
    *   * `assignee=folders/123`
    *   * `assignee=organizations/456`
    * @param {number} request.pageSize
    *   The maximum number of items to return per page.
    * @param {string} request.pageToken
    *   The next_page_token value returned from a previous List request, if any.
    * @param {object} [options]
    *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
    * @returns {Promise} - The promise which resolves to an array.
    *   The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}.
    *   The client library will perform auto-pagination by default: it will call the API as many
    *   times as needed and will merge results from all the pages into this array.
    *   Note that it can affect your quota.
    *   We recommend using `searchAllAssignmentsAsync()`
    *   method described below for async iteration which you can stop as needed.
    *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
    *   for more details and examples.
    */
    searchAllAssignments(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IAssignment[],
        protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest | null,
        protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsResponse
    ]>;
    searchAllAssignments(request: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IAssignment>): void;
    searchAllAssignments(request: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IAssignment>): void;
    /**
     * Equivalent to `searchAllAssignments`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The resource name with location (project name could be the
     *   wildcard '-'), e.g.:
     *     `projects/-/locations/US`.
     * @param {string} request.query
     *   Please specify resource name as assignee in the query.
     *
     *   Examples:
     *
     *   * `assignee=projects/myproject`
     *   * `assignee=folders/123`
     *   * `assignee=organizations/456`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Stream}
     *   An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment} on 'data' event.
     *   The client library will perform auto-pagination by default: it will call the API as many
     *   times as needed. Note that it can affect your quota.
     *   We recommend using `searchAllAssignmentsAsync()`
     *   method described below for async iteration which you can stop as needed.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     */
    searchAllAssignmentsStream(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `searchAllAssignments`, but returns an iterable object.
     *
     * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The resource name with location (project name could be the
     *   wildcard '-'), e.g.:
     *     `projects/-/locations/US`.
     * @param {string} request.query
     *   Please specify resource name as assignee in the query.
     *
     *   Examples:
     *
     *   * `assignee=projects/myproject`
     *   * `assignee=folders/123`
     *   * `assignee=organizations/456`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Object}
     *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
     *   When you iterate the returned iterable, each element will be an object representing
     *   {@link protos.google.cloud.bigquery.reservation.v1.Assignment|Assignment}. The API will be called under the hood as needed, once per the page,
     *   so you can stop the iteration when you don't need more results.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.search_all_assignments.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_SearchAllAssignments_async
     */
    searchAllAssignmentsAsync(request?: protos.google.cloud.bigquery.reservation.v1.ISearchAllAssignmentsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.bigquery.reservation.v1.IAssignment>;
    /**
    * Lists all the reservation groups for the project in the specified location.
    *
    * @param {Object} request
    *   The request object that will be sent.
    * @param {string} request.parent
    *   Required. The parent resource name containing project and location, e.g.:
    *     `projects/myproject/locations/US`
    * @param {number} request.pageSize
    *   The maximum number of items to return per page.
    * @param {string} request.pageToken
    *   The next_page_token value returned from a previous List request, if any.
    * @param {object} [options]
    *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
    * @returns {Promise} - The promise which resolves to an array.
    *   The first element of the array is Array of {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}.
    *   The client library will perform auto-pagination by default: it will call the API as many
    *   times as needed and will merge results from all the pages into this array.
    *   Note that it can affect your quota.
    *   We recommend using `listReservationGroupsAsync()`
    *   method described below for async iteration which you can stop as needed.
    *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
    *   for more details and examples.
    */
    listReservationGroups(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, options?: CallOptions): Promise<[
        protos.google.cloud.bigquery.reservation.v1.IReservationGroup[],
        protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest | null,
        protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsResponse
    ]>;
    listReservationGroups(request: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, options: CallOptions, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IReservationGroup>): void;
    listReservationGroups(request: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, callback: PaginationCallback<protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsResponse | null | undefined, protos.google.cloud.bigquery.reservation.v1.IReservationGroup>): void;
    /**
     * Equivalent to `listReservationGroups`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource name containing project and location, e.g.:
     *     `projects/myproject/locations/US`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Stream}
     *   An object stream which emits an object representing {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup} on 'data' event.
     *   The client library will perform auto-pagination by default: it will call the API as many
     *   times as needed. Note that it can affect your quota.
     *   We recommend using `listReservationGroupsAsync()`
     *   method described below for async iteration which you can stop as needed.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     */
    listReservationGroupsStream(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `listReservationGroups`, but returns an iterable object.
     *
     * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource name containing project and location, e.g.:
     *     `projects/myproject/locations/US`
     * @param {number} request.pageSize
     *   The maximum number of items to return per page.
     * @param {string} request.pageToken
     *   The next_page_token value returned from a previous List request, if any.
     * @param {object} [options]
     *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
     * @returns {Object}
     *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
     *   When you iterate the returned iterable, each element will be an object representing
     *   {@link protos.google.cloud.bigquery.reservation.v1.ReservationGroup|ReservationGroup}. The API will be called under the hood as needed, once per the page,
     *   so you can stop the iteration when you don't need more results.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1/reservation_service.list_reservation_groups.js</caption>
     * region_tag:bigqueryreservation_v1_generated_ReservationService_ListReservationGroups_async
     */
    listReservationGroupsAsync(request?: protos.google.cloud.bigquery.reservation.v1.IListReservationGroupsRequest, options?: CallOptions): AsyncIterable<protos.google.cloud.bigquery.reservation.v1.IReservationGroup>;
    /**
     * Return a fully-qualified assignment resource name string.
     *
     * @param {string} project
     * @param {string} location
     * @param {string} reservation
     * @param {string} assignment
     * @returns {string} Resource name string.
     */
    assignmentPath(project: string, location: string, reservation: string, assignment: string): string;
    /**
     * Parse the project from Assignment resource.
     *
     * @param {string} assignmentName
     *   A fully-qualified path representing Assignment resource.
     * @returns {string} A string representing the project.
     */
    matchProjectFromAssignmentName(assignmentName: string): string | number;
    /**
     * Parse the location from Assignment resource.
     *
     * @param {string} assignmentName
     *   A fully-qualified path representing Assignment resource.
     * @returns {string} A string representing the location.
     */
    matchLocationFromAssignmentName(assignmentName: string): string | number;
    /**
     * Parse the reservation from Assignment resource.
     *
     * @param {string} assignmentName
     *   A fully-qualified path representing Assignment resource.
     * @returns {string} A string representing the reservation.
     */
    matchReservationFromAssignmentName(assignmentName: string): string | number;
    /**
     * Parse the assignment from Assignment resource.
     *
     * @param {string} assignmentName
     *   A fully-qualified path representing Assignment resource.
     * @returns {string} A string representing the assignment.
     */
    matchAssignmentFromAssignmentName(assignmentName: string): string | number;
    /**
     * Return a fully-qualified biReservation resource name string.
     *
     * @param {string} project
     * @param {string} location
     * @returns {string} Resource name string.
     */
    biReservationPath(project: string, location: string): string;
    /**
     * Parse the project from BiReservation resource.
     *
     * @param {string} biReservationName
     *   A fully-qualified path representing BiReservation resource.
     * @returns {string} A string representing the project.
     */
    matchProjectFromBiReservationName(biReservationName: string): string | number;
    /**
     * Parse the location from BiReservation resource.
     *
     * @param {string} biReservationName
     *   A fully-qualified path representing BiReservation resource.
     * @returns {string} A string representing the location.
     */
    matchLocationFromBiReservationName(biReservationName: string): string | number;
    /**
     * Return a fully-qualified capacityCommitment resource name string.
     *
     * @param {string} project
     * @param {string} location
     * @param {string} capacity_commitment
     * @returns {string} Resource name string.
     */
    capacityCommitmentPath(project: string, location: string, capacityCommitment: string): string;
    /**
     * Parse the project from CapacityCommitment resource.
     *
     * @param {string} capacityCommitmentName
     *   A fully-qualified path representing CapacityCommitment resource.
     * @returns {string} A string representing the project.
     */
    matchProjectFromCapacityCommitmentName(capacityCommitmentName: string): string | number;
    /**
     * Parse the location from CapacityCommitment resource.
     *
     * @param {string} capacityCommitmentName
     *   A fully-qualified path representing CapacityCommitment resource.
     * @returns {string} A string representing the location.
     */
    matchLocationFromCapacityCommitmentName(capacityCommitmentName: string): string | number;
    /**
     * Parse the capacity_commitment from CapacityCommitment resource.
     *
     * @param {string} capacityCommitmentName
     *   A fully-qualified path representing CapacityCommitment resource.
     * @returns {string} A string representing the capacity_commitment.
     */
    matchCapacityCommitmentFromCapacityCommitmentName(capacityCommitmentName: string): string | number;
    /**
     * Return a fully-qualified location resource name string.
     *
     * @param {string} project
     * @param {string} location
     * @returns {string} Resource name string.
     */
    locationPath(project: string, location: string): string;
    /**
     * Parse the project from Location resource.
     *
     * @param {string} locationName
     *   A fully-qualified path representing Location resource.
     * @returns {string} A string representing the project.
     */
    matchProjectFromLocationName(locationName: string): string | number;
    /**
     * Parse the location from Location resource.
     *
     * @param {string} locationName
     *   A fully-qualified path representing Location resource.
     * @returns {string} A string representing the location.
     */
    matchLocationFromLocationName(locationName: string): string | number;
    /**
     * Return a fully-qualified project resource name string.
     *
     * @param {string} project
     * @returns {string} Resource name string.
     */
    projectPath(project: string): string;
    /**
     * Parse the project from Project resource.
     *
     * @param {string} projectName
     *   A fully-qualified path representing Project resource.
     * @returns {string} A string representing the project.
     */
    matchProjectFromProjectName(projectName: string): string | number;
    /**
     * Return a fully-qualified reservation resource name string.
     *
     * @param {string} project
     * @param {string} location
     * @param {string} reservation
     * @returns {string} Resource name string.
     */
    reservationPath(project: string, location: string, reservation: string): string;
    /**
     * Parse the project from Reservation resource.
     *
     * @param {string} reservationName
     *   A fully-qualified path representing Reservation resource.
     * @returns {string} A string representing the project.
     */
    matchProjectFromReservationName(reservationName: string): string | number;
    /**
     * Parse the location from Reservation resource.
     *
     * @param {string} reservationName
     *   A fully-qualified path representing Reservation resource.
     * @returns {string} A string representing the location.
     */
    matchLocationFromReservationName(reservationName: string): string | number;
    /**
     * Parse the reservation from Reservation resource.
     *
     * @param {string} reservationName
     *   A fully-qualified path representing Reservation resource.
     * @returns {string} A string representing the reservation.
     */
    matchReservationFromReservationName(reservationName: string): string | number;
    /**
     * Return a fully-qualified reservationGroup resource name string.
     *
     * @param {string} project
     * @param {string} location
     * @param {string} reservation_group
     * @returns {string} Resource name string.
     */
    reservationGroupPath(project: string, location: string, reservationGroup: string): string;
    /**
     * Parse the project from ReservationGroup resource.
     *
     * @param {string} reservationGroupName
     *   A fully-qualified path representing ReservationGroup resource.
     * @returns {string} A string representing the project.
     */
    matchProjectFromReservationGroupName(reservationGroupName: string): string | number;
    /**
     * Parse the location from ReservationGroup resource.
     *
     * @param {string} reservationGroupName
     *   A fully-qualified path representing ReservationGroup resource.
     * @returns {string} A string representing the location.
     */
    matchLocationFromReservationGroupName(reservationGroupName: string): string | number;
    /**
     * Parse the reservation_group from ReservationGroup resource.
     *
     * @param {string} reservationGroupName
     *   A fully-qualified path representing ReservationGroup resource.
     * @returns {string} A string representing the reservation_group.
     */
    matchReservationGroupFromReservationGroupName(reservationGroupName: string): string | number;
    /**
     * Terminate the gRPC channel and close the client.
     *
     * The client will no longer be usable and all future behavior is undefined.
     * @returns {Promise} A promise that resolves when the client is closed.
     */
    close(): Promise<void>;
}
