import type * as gax from 'google-gax';
import type { Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback } from 'google-gax';
import { Transform } from 'stream';
import * as protos from '../../protos/protos';
/**
 *  Google Analytics reporting data service.
 * @class
 * @memberof v1alpha
 */
export declare class AlphaAnalyticsDataClient {
    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;
    };
    operationsClient: gax.OperationsClient;
    alphaAnalyticsDataStub?: Promise<{
        [name: string]: Function;
    }>;
    /**
     * Construct an instance of AlphaAnalyticsDataClient.
     *
     * @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 AlphaAnalyticsDataClient({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;
    /**
     * Returns a customized funnel report of your Google Analytics event data. The
     * data returned from the API is as a table with columns for the requested
     * dimensions and metrics.
     *
     * Funnel exploration lets you visualize the steps your users take to complete
     * a task and quickly see how well they are succeeding or failing at each
     * step. For example, how do prospects become shoppers and then become buyers?
     * How do one time buyers become repeat buyers? With this information, you can
     * improve inefficient or abandoned customer journeys. To learn more, see [GA4
     * Funnel Explorations](https://support.google.com/analytics/answer/9327974).
     *
     * This method is introduced at alpha stability with the intention of
     * gathering feedback on syntax and capabilities before entering beta. To give
     * your feedback on this API, complete the [Google Analytics Data API Funnel
     * Reporting
     * Feedback](https://docs.google.com/forms/d/e/1FAIpQLSdwOlQDJAUoBiIgUZZ3S_Lwi8gr7Bb0k1jhvc-DEg7Rol3UjA/viewform).
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} [request.property]
     *   Optional. A Google Analytics property identifier whose events are tracked.
     *   Specified in the URL path and not the body. To learn more, see [where to
     *   find your Property
     *   ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
     *   Within a batch request, this property should either be unspecified or
     *   consistent with the batch-level property.
     *
     *   Example: properties/1234
     * @param {number[]} [request.dateRanges]
     *   Optional. Date ranges of data to read. If multiple date ranges are
     *   requested, each response row will contain a zero based date range index. If
     *   two date ranges overlap, the event data for the overlapping days is
     *   included in the response rows for both date ranges.
     * @param {google.analytics.data.v1alpha.Funnel} [request.funnel]
     *   Optional. The configuration of this request's funnel. This funnel
     *   configuration is required.
     * @param {google.analytics.data.v1alpha.FunnelBreakdown} [request.funnelBreakdown]
     *   Optional. If specified, this breakdown adds a dimension to the funnel table
     *   sub report response. This breakdown dimension expands each funnel step to
     *   the unique values of the breakdown dimension. For example, a breakdown by
     *   the `deviceCategory` dimension will create rows for `mobile`, `tablet`,
     *   `desktop`, and the total.
     * @param {google.analytics.data.v1alpha.FunnelNextAction} [request.funnelNextAction]
     *   Optional. If specified, next action adds a dimension to the funnel
     *   visualization sub report response. This next action dimension expands each
     *   funnel step to the unique values of the next action. For example a next
     *   action of the `eventName` dimension will create rows for several events
     *   (for example `session_start` & `click`) and the total.
     *
     *   Next action only supports `eventName` and most Page / Screen dimensions
     *   like `pageTitle` and `pagePath`.
     * @param {google.analytics.data.v1alpha.RunFunnelReportRequest.FunnelVisualizationType} [request.funnelVisualizationType]
     *   Optional. The funnel visualization type controls the dimensions present in
     *   the funnel visualization sub report response. If not specified,
     *   `STANDARD_FUNNEL` is used.
     * @param {number[]} [request.segments]
     *   Optional. The configurations of segments. Segments are subsets of a
     *   property's data. In a funnel report with segments, the funnel is evaluated
     *   in each segment.
     *
     *   Each segment specified in this request
     *   produces a separate row in the response; in the response, each segment
     *   identified by its name.
     *
     *   The segments parameter is optional. Requests are limited to 4 segments.
     * @param {number} [request.limit]
     *   Optional. The number of rows to return. If unspecified, 10,000 rows are
     *   returned. The API returns a maximum of 250,000 rows per request, no matter
     *   how many you ask for. `limit` must be positive.
     *
     *   The API can also return fewer rows than the requested `limit`, if there
     *   aren't as many dimension values as the `limit`.
     * @param {google.analytics.data.v1alpha.FilterExpression} [request.dimensionFilter]
     *   Optional. Dimension filters allow you to ask for only specific dimension
     *   values in the report. To learn more, see [Creating a Report: Dimension
     *   Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters)
     *   for examples. Metrics cannot be used in this filter.
     * @param {boolean} [request.returnPropertyQuota]
     *   Optional. Toggles whether to return the current state of this Analytics
     *   Property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).
     * @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.analytics.data.v1alpha.RunFunnelReportResponse|RunFunnelReportResponse}.
     *   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/v1alpha/alpha_analytics_data.run_funnel_report.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_RunFunnelReport_async
     */
    runFunnelReport(request?: protos.google.analytics.data.v1alpha.IRunFunnelReportRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IRunFunnelReportResponse,
        protos.google.analytics.data.v1alpha.IRunFunnelReportRequest | undefined,
        {} | undefined
    ]>;
    runFunnelReport(request: protos.google.analytics.data.v1alpha.IRunFunnelReportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.IRunFunnelReportResponse, protos.google.analytics.data.v1alpha.IRunFunnelReportRequest | null | undefined, {} | null | undefined>): void;
    runFunnelReport(request: protos.google.analytics.data.v1alpha.IRunFunnelReportRequest, callback: Callback<protos.google.analytics.data.v1alpha.IRunFunnelReportResponse, protos.google.analytics.data.v1alpha.IRunFunnelReportRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Retrieves an audience list of users. After creating an audience, the users
     * are not immediately available for listing. First, a request to
     * `CreateAudienceList` is necessary to create an audience list of users, and
     * then second, this method is used to retrieve the users in the audience
     * list.
     *
     * See [Creating an Audience
     * List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
     * for an introduction to Audience Lists with examples.
     *
     * Audiences in Google Analytics 4 allow you to segment your users in the ways
     * that are important to your business. To learn more, see
     * https://support.google.com/analytics/answer/9267572.
     *
     * This method is available at beta stability at
     * [audienceExports.query](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties.audienceExports/query).
     * To give your feedback on this API, complete the [Google Analytics Audience
     * Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. The name of the audience list to retrieve users from.
     *   Format: `properties/{property}/audienceLists/{audience_list}`
     * @param {number} [request.offset]
     *   Optional. The row count of the start row. The first row is counted as row
     *   0.
     *
     *   When paging, the first request does not specify offset; or equivalently,
     *   sets offset to 0; the first request returns the first `limit` of rows. The
     *   second request sets offset to the `limit` of the first request; the second
     *   request returns the second `limit` of rows.
     *
     *   To learn more about this pagination parameter, see
     *   [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
     * @param {number} [request.limit]
     *   Optional. The number of rows to return. If unspecified, 10,000 rows are
     *   returned. The API returns a maximum of 250,000 rows per request, no matter
     *   how many you ask for. `limit` must be positive.
     *
     *   The API can also return fewer rows than the requested `limit`, if there
     *   aren't as many dimension values as the `limit`.
     *
     *   To learn more about this pagination parameter, see
     *   [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
     * @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.analytics.data.v1alpha.QueryAudienceListResponse|QueryAudienceListResponse}.
     *   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/v1alpha/alpha_analytics_data.query_audience_list.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_QueryAudienceList_async
     */
    queryAudienceList(request?: protos.google.analytics.data.v1alpha.IQueryAudienceListRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IQueryAudienceListResponse,
        (protos.google.analytics.data.v1alpha.IQueryAudienceListRequest | undefined),
        {} | undefined
    ]>;
    queryAudienceList(request: protos.google.analytics.data.v1alpha.IQueryAudienceListRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.IQueryAudienceListResponse, protos.google.analytics.data.v1alpha.IQueryAudienceListRequest | null | undefined, {} | null | undefined>): void;
    queryAudienceList(request: protos.google.analytics.data.v1alpha.IQueryAudienceListRequest, callback: Callback<protos.google.analytics.data.v1alpha.IQueryAudienceListResponse, protos.google.analytics.data.v1alpha.IQueryAudienceListRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Exports an audience list of users to a Google Sheet. After creating an
     * audience, the users are not immediately available for listing. First, a
     * request to `CreateAudienceList` is necessary to create an audience list of
     * users, and then second, this method is used to export those users in the
     * audience list to a Google Sheet.
     *
     * See [Creating an Audience
     * List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
     * for an introduction to Audience Lists with examples.
     *
     * Audiences in Google Analytics 4 allow you to segment your users in the ways
     * that are important to your business. To learn more, see
     * https://support.google.com/analytics/answer/9267572.
     *
     * This method is introduced at alpha stability with the intention of
     * gathering feedback on syntax and capabilities before entering beta. To give
     * your feedback on this API, complete the
     * [Google Analytics Audience Export API
     * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. The name of the audience list to retrieve users from.
     *   Format: `properties/{property}/audienceLists/{audience_list}`
     * @param {number} [request.offset]
     *   Optional. The row count of the start row. The first row is counted as row
     *   0.
     *
     *   When paging, the first request does not specify offset; or equivalently,
     *   sets offset to 0; the first request returns the first `limit` of rows. The
     *   second request sets offset to the `limit` of the first request; the second
     *   request returns the second `limit` of rows.
     *
     *   To learn more about this pagination parameter, see
     *   [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
     * @param {number} [request.limit]
     *   Optional. The number of rows to return. If unspecified, 10,000 rows are
     *   returned. The API returns a maximum of 250,000 rows per request, no matter
     *   how many you ask for. `limit` must be positive.
     *
     *   The API can also return fewer rows than the requested `limit`, if there
     *   aren't as many dimension values as the `limit`.
     *
     *   To learn more about this pagination parameter, see
     *   [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
     * @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.analytics.data.v1alpha.SheetExportAudienceListResponse|SheetExportAudienceListResponse}.
     *   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/v1alpha/alpha_analytics_data.sheet_export_audience_list.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_SheetExportAudienceList_async
     */
    sheetExportAudienceList(request?: protos.google.analytics.data.v1alpha.ISheetExportAudienceListRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.ISheetExportAudienceListResponse,
        (protos.google.analytics.data.v1alpha.ISheetExportAudienceListRequest | undefined),
        {} | undefined
    ]>;
    sheetExportAudienceList(request: protos.google.analytics.data.v1alpha.ISheetExportAudienceListRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.ISheetExportAudienceListResponse, protos.google.analytics.data.v1alpha.ISheetExportAudienceListRequest | null | undefined, {} | null | undefined>): void;
    sheetExportAudienceList(request: protos.google.analytics.data.v1alpha.ISheetExportAudienceListRequest, callback: Callback<protos.google.analytics.data.v1alpha.ISheetExportAudienceListResponse, protos.google.analytics.data.v1alpha.ISheetExportAudienceListRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Gets configuration metadata about a specific audience list. This method
     * can be used to understand an audience list after it has been created.
     *
     * See [Creating an Audience
     * List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
     * for an introduction to Audience Lists with examples.
     *
     * This method is available at beta stability at
     * [audienceExports.get](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties.audienceExports/get).
     * To give your feedback on this API, complete the
     * [Google Analytics Audience Export API
     * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. The audience list resource name.
     *   Format: `properties/{property}/audienceLists/{audience_list}`
     * @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.analytics.data.v1alpha.AudienceList|AudienceList}.
     *   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/v1alpha/alpha_analytics_data.get_audience_list.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_GetAudienceList_async
     */
    getAudienceList(request?: protos.google.analytics.data.v1alpha.IGetAudienceListRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IAudienceList,
        protos.google.analytics.data.v1alpha.IGetAudienceListRequest | undefined,
        {} | undefined
    ]>;
    getAudienceList(request: protos.google.analytics.data.v1alpha.IGetAudienceListRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.IAudienceList, protos.google.analytics.data.v1alpha.IGetAudienceListRequest | null | undefined, {} | null | undefined>): void;
    getAudienceList(request: protos.google.analytics.data.v1alpha.IGetAudienceListRequest, callback: Callback<protos.google.analytics.data.v1alpha.IAudienceList, protos.google.analytics.data.v1alpha.IGetAudienceListRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Creates a recurring audience list. Recurring audience lists produces new
     * audience lists each day. Audience lists are users in an audience at the
     * time of the list's creation.
     *
     * A recurring audience list ensures that you have audience list based on the
     * most recent data available for use each day. If you manually create
     * audience list, you don't know when an audience list based on an additional
     * day's data is available. This recurring audience list automates the
     * creation of an audience list when an additional day's data is available.
     * You will consume fewer quota tokens by using recurring audience list versus
     * manually creating audience list at various times of day trying to guess
     * when an additional day's data is ready.
     *
     * This method is introduced at alpha stability with the intention of
     * gathering feedback on syntax and capabilities before entering beta. To give
     * your feedback on this API, complete the
     * [Google Analytics Audience Export API
     * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource where this recurring audience list will be
     *   created. Format: `properties/{property}`
     * @param {google.analytics.data.v1alpha.RecurringAudienceList} request.recurringAudienceList
     *   Required. The recurring audience list 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.analytics.data.v1alpha.RecurringAudienceList|RecurringAudienceList}.
     *   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/v1alpha/alpha_analytics_data.create_recurring_audience_list.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_CreateRecurringAudienceList_async
     */
    createRecurringAudienceList(request?: protos.google.analytics.data.v1alpha.ICreateRecurringAudienceListRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IRecurringAudienceList,
        (protos.google.analytics.data.v1alpha.ICreateRecurringAudienceListRequest | undefined),
        {} | undefined
    ]>;
    createRecurringAudienceList(request: protos.google.analytics.data.v1alpha.ICreateRecurringAudienceListRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.IRecurringAudienceList, protos.google.analytics.data.v1alpha.ICreateRecurringAudienceListRequest | null | undefined, {} | null | undefined>): void;
    createRecurringAudienceList(request: protos.google.analytics.data.v1alpha.ICreateRecurringAudienceListRequest, callback: Callback<protos.google.analytics.data.v1alpha.IRecurringAudienceList, protos.google.analytics.data.v1alpha.ICreateRecurringAudienceListRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Gets configuration metadata about a specific recurring audience list. This
     * method can be used to understand a recurring audience list's state after it
     * has been created. For example, a recurring audience list resource will
     * generate audience list instances for each day, and this method can be used
     * to get the resource name of the most recent audience list instance.
     *
     * This method is introduced at alpha stability with the intention of
     * gathering feedback on syntax and capabilities before entering beta. To give
     * your feedback on this API, complete the
     * [Google Analytics Audience Export API
     * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. The recurring audience list resource name.
     *   Format:
     *   `properties/{property}/recurringAudienceLists/{recurring_audience_list}`
     * @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.analytics.data.v1alpha.RecurringAudienceList|RecurringAudienceList}.
     *   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/v1alpha/alpha_analytics_data.get_recurring_audience_list.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_GetRecurringAudienceList_async
     */
    getRecurringAudienceList(request?: protos.google.analytics.data.v1alpha.IGetRecurringAudienceListRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IRecurringAudienceList,
        (protos.google.analytics.data.v1alpha.IGetRecurringAudienceListRequest | undefined),
        {} | undefined
    ]>;
    getRecurringAudienceList(request: protos.google.analytics.data.v1alpha.IGetRecurringAudienceListRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.IRecurringAudienceList, protos.google.analytics.data.v1alpha.IGetRecurringAudienceListRequest | null | undefined, {} | null | undefined>): void;
    getRecurringAudienceList(request: protos.google.analytics.data.v1alpha.IGetRecurringAudienceListRequest, callback: Callback<protos.google.analytics.data.v1alpha.IRecurringAudienceList, protos.google.analytics.data.v1alpha.IGetRecurringAudienceListRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Get all property quotas organized by quota category for a given property.
     * This will charge 1 property quota from the category with the most quota.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. Quotas from this property will be listed in the response.
     *   Format: `properties/{property}/propertyQuotasSnapshot`
     * @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.analytics.data.v1alpha.PropertyQuotasSnapshot|PropertyQuotasSnapshot}.
     *   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/v1alpha/alpha_analytics_data.get_property_quotas_snapshot.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_GetPropertyQuotasSnapshot_async
     */
    getPropertyQuotasSnapshot(request?: protos.google.analytics.data.v1alpha.IGetPropertyQuotasSnapshotRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IPropertyQuotasSnapshot,
        (protos.google.analytics.data.v1alpha.IGetPropertyQuotasSnapshotRequest | undefined),
        {} | undefined
    ]>;
    getPropertyQuotasSnapshot(request: protos.google.analytics.data.v1alpha.IGetPropertyQuotasSnapshotRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.IPropertyQuotasSnapshot, protos.google.analytics.data.v1alpha.IGetPropertyQuotasSnapshotRequest | null | undefined, {} | null | undefined>): void;
    getPropertyQuotasSnapshot(request: protos.google.analytics.data.v1alpha.IGetPropertyQuotasSnapshotRequest, callback: Callback<protos.google.analytics.data.v1alpha.IPropertyQuotasSnapshot, protos.google.analytics.data.v1alpha.IGetPropertyQuotasSnapshotRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Retrieves a report task's content. After requesting the `CreateReportTask`,
     * you are able to retrieve the report content once the report is
     * ACTIVE. This method will return an error if the report task's state is not
     * `ACTIVE`. A query response will return the tabular row & column values of
     * the report.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. The report source name.
     *   Format: `properties/{property}/reportTasks/{report}`
     * @param {number} [request.offset]
     *   Optional. The row count of the start row in the report. The first row is
     *   counted as row 0.
     *
     *   When paging, the first request does not specify offset; or equivalently,
     *   sets offset to 0; the first request returns the first `limit` of rows. The
     *   second request sets offset to the `limit` of the first request; the second
     *   request returns the second `limit` of rows.
     *
     *   To learn more about this pagination parameter, see
     *   [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
     * @param {number} [request.limit]
     *   Optional. The number of rows to return from the report. If unspecified,
     *   10,000 rows are returned. The API returns a maximum of 250,000 rows per
     *   request, no matter how many you ask for. `limit` must be positive.
     *
     *   The API can also return fewer rows than the requested `limit`, if there
     *   aren't as many dimension values as the `limit`. The number of rows
     *   available to a QueryReportTaskRequest is further limited by the limit of
     *   the associated ReportTask. A query can retrieve at most ReportTask.limit
     *   rows. For example, if the ReportTask has a limit of 1,000, then a
     *   QueryReportTask request with offset=900 and limit=500 will return at most
     *   100 rows.
     *
     *   To learn more about this pagination parameter, see
     *   [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
     * @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.analytics.data.v1alpha.QueryReportTaskResponse|QueryReportTaskResponse}.
     *   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/v1alpha/alpha_analytics_data.query_report_task.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_QueryReportTask_async
     */
    queryReportTask(request?: protos.google.analytics.data.v1alpha.IQueryReportTaskRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IQueryReportTaskResponse,
        protos.google.analytics.data.v1alpha.IQueryReportTaskRequest | undefined,
        {} | undefined
    ]>;
    queryReportTask(request: protos.google.analytics.data.v1alpha.IQueryReportTaskRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.IQueryReportTaskResponse, protos.google.analytics.data.v1alpha.IQueryReportTaskRequest | null | undefined, {} | null | undefined>): void;
    queryReportTask(request: protos.google.analytics.data.v1alpha.IQueryReportTaskRequest, callback: Callback<protos.google.analytics.data.v1alpha.IQueryReportTaskResponse, protos.google.analytics.data.v1alpha.IQueryReportTaskRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Gets report metadata about a specific report task. After creating a report
     * task, use this method to check its processing state or inspect its
     * report definition.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.name
     *   Required. The report task resource name.
     *   Format: `properties/{property}/reportTasks/{report_task}`
     * @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.analytics.data.v1alpha.ReportTask|ReportTask}.
     *   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/v1alpha/alpha_analytics_data.get_report_task.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_GetReportTask_async
     */
    getReportTask(request?: protos.google.analytics.data.v1alpha.IGetReportTaskRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IReportTask,
        protos.google.analytics.data.v1alpha.IGetReportTaskRequest | undefined,
        {} | undefined
    ]>;
    getReportTask(request: protos.google.analytics.data.v1alpha.IGetReportTaskRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1alpha.IReportTask, protos.google.analytics.data.v1alpha.IGetReportTaskRequest | null | undefined, {} | null | undefined>): void;
    getReportTask(request: protos.google.analytics.data.v1alpha.IGetReportTaskRequest, callback: Callback<protos.google.analytics.data.v1alpha.IReportTask, protos.google.analytics.data.v1alpha.IGetReportTaskRequest | null | undefined, {} | null | undefined>): void;
    /**
     * Creates an audience list for later retrieval. This method quickly returns
     * the audience list's resource name and initiates a long running asynchronous
     * request to form an audience list. To list the users in an audience list,
     * first create the audience list through this method and then send the
     * audience resource name to the `QueryAudienceList` method.
     *
     * See [Creating an Audience
     * List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
     * for an introduction to Audience Lists with examples.
     *
     * An audience list is a snapshot of the users currently in the audience at
     * the time of audience list creation. Creating audience lists for one
     * audience on different days will return different results as users enter and
     * exit the audience.
     *
     * Audiences in Google Analytics 4 allow you to segment your users in the ways
     * that are important to your business. To learn more, see
     * https://support.google.com/analytics/answer/9267572. Audience lists contain
     * the users in each audience.
     *
     * This method is available at beta stability at
     * [audienceExports.create](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties.audienceExports/create).
     * To give your feedback on this API, complete the [Google Analytics Audience
     * Export API Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource where this audience list will be created.
     *   Format: `properties/{property}`
     * @param {google.analytics.data.v1alpha.AudienceList} request.audienceList
     *   Required. The audience list 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
     *   a long running operation. Its `promise()` method returns a promise
     *   you can `await` for.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1alpha/alpha_analytics_data.create_audience_list.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_CreateAudienceList_async
     */
    createAudienceList(request?: protos.google.analytics.data.v1alpha.ICreateAudienceListRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.analytics.data.v1alpha.IAudienceList, protos.google.analytics.data.v1alpha.IAudienceListMetadata>,
        protos.google.longrunning.IOperation | undefined,
        {} | undefined
    ]>;
    createAudienceList(request: protos.google.analytics.data.v1alpha.ICreateAudienceListRequest, options: CallOptions, callback: Callback<LROperation<protos.google.analytics.data.v1alpha.IAudienceList, protos.google.analytics.data.v1alpha.IAudienceListMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
    createAudienceList(request: protos.google.analytics.data.v1alpha.ICreateAudienceListRequest, callback: Callback<LROperation<protos.google.analytics.data.v1alpha.IAudienceList, protos.google.analytics.data.v1alpha.IAudienceListMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
    /**
     * Check the status of the long running operation returned by `createAudienceList()`.
     * @param {String} name
     *   The operation name that will be passed.
     * @returns {Promise} - The promise which resolves to an object.
     *   The decoded operation object has result and metadata field to get information from.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1alpha/alpha_analytics_data.create_audience_list.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_CreateAudienceList_async
     */
    checkCreateAudienceListProgress(name: string): Promise<LROperation<protos.google.analytics.data.v1alpha.AudienceList, protos.google.analytics.data.v1alpha.AudienceListMetadata>>;
    /**
     * Initiates the creation of a report task. This method quickly
     * returns a report task and initiates a long running
     * asynchronous request to form a customized report of your Google Analytics
     * event data.
     *
     * A report task will be retained and available for querying for 72 hours
     * after it has been created.
     *
     * A report task created by one user can be listed and queried by all users
     * who have access to the property.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. The parent resource where this report task will be created.
     *   Format: `properties/{propertyId}`
     * @param {google.analytics.data.v1alpha.ReportTask} request.reportTask
     *   Required. The report task configuration 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
     *   a long running operation. Its `promise()` method returns a promise
     *   you can `await` for.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1alpha/alpha_analytics_data.create_report_task.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_CreateReportTask_async
     */
    createReportTask(request?: protos.google.analytics.data.v1alpha.ICreateReportTaskRequest, options?: CallOptions): Promise<[
        LROperation<protos.google.analytics.data.v1alpha.IReportTask, protos.google.analytics.data.v1alpha.IReportTaskMetadata>,
        protos.google.longrunning.IOperation | undefined,
        {} | undefined
    ]>;
    createReportTask(request: protos.google.analytics.data.v1alpha.ICreateReportTaskRequest, options: CallOptions, callback: Callback<LROperation<protos.google.analytics.data.v1alpha.IReportTask, protos.google.analytics.data.v1alpha.IReportTaskMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
    createReportTask(request: protos.google.analytics.data.v1alpha.ICreateReportTaskRequest, callback: Callback<LROperation<protos.google.analytics.data.v1alpha.IReportTask, protos.google.analytics.data.v1alpha.IReportTaskMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
    /**
     * Check the status of the long running operation returned by `createReportTask()`.
     * @param {String} name
     *   The operation name that will be passed.
     * @returns {Promise} - The promise which resolves to an object.
     *   The decoded operation object has result and metadata field to get information from.
     *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
     *   for more details and examples.
     * @example <caption>include:samples/generated/v1alpha/alpha_analytics_data.create_report_task.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_CreateReportTask_async
     */
    checkCreateReportTaskProgress(name: string): Promise<LROperation<protos.google.analytics.data.v1alpha.ReportTask, protos.google.analytics.data.v1alpha.ReportTaskMetadata>>;
    /**
     * Lists all audience lists for a property. This method can be used for you to
     * find and reuse existing audience lists rather than creating unnecessary new
     * audience lists. The same audience can have multiple audience lists that
     * represent the list of users that were in an audience on different days.
     *
     * See [Creating an Audience
     * List](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
     * for an introduction to Audience Lists with examples.
     *
     * This method is available at beta stability at
     * [audienceExports.list](https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/properties.audienceExports/list).
     * To give your feedback on this API, complete the
     * [Google Analytics Audience Export API
     * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. All audience lists for this property will be listed in the
     *   response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of audience lists to return. The service may
     *   return fewer than this value. If unspecified, at most 200 audience lists
     *   will be returned. The maximum value is 1000 (higher values will be coerced
     *   to the maximum).
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous `ListAudienceLists` call.
     *   Provide this to retrieve the subsequent page.
     *
     *   When paginating, all other parameters provided to `ListAudienceLists` must
     *   match the call that provided the page token.
     * @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.analytics.data.v1alpha.AudienceList|AudienceList}.
     *   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 `listAudienceListsAsync()`
     *   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.
     */
    listAudienceLists(request?: protos.google.analytics.data.v1alpha.IListAudienceListsRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IAudienceList[],
        protos.google.analytics.data.v1alpha.IListAudienceListsRequest | null,
        protos.google.analytics.data.v1alpha.IListAudienceListsResponse
    ]>;
    listAudienceLists(request: protos.google.analytics.data.v1alpha.IListAudienceListsRequest, options: CallOptions, callback: PaginationCallback<protos.google.analytics.data.v1alpha.IListAudienceListsRequest, protos.google.analytics.data.v1alpha.IListAudienceListsResponse | null | undefined, protos.google.analytics.data.v1alpha.IAudienceList>): void;
    listAudienceLists(request: protos.google.analytics.data.v1alpha.IListAudienceListsRequest, callback: PaginationCallback<protos.google.analytics.data.v1alpha.IListAudienceListsRequest, protos.google.analytics.data.v1alpha.IListAudienceListsResponse | null | undefined, protos.google.analytics.data.v1alpha.IAudienceList>): void;
    /**
     * Equivalent to `listAudienceLists`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. All audience lists for this property will be listed in the
     *   response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of audience lists to return. The service may
     *   return fewer than this value. If unspecified, at most 200 audience lists
     *   will be returned. The maximum value is 1000 (higher values will be coerced
     *   to the maximum).
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous `ListAudienceLists` call.
     *   Provide this to retrieve the subsequent page.
     *
     *   When paginating, all other parameters provided to `ListAudienceLists` must
     *   match the call that provided the page token.
     * @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.analytics.data.v1alpha.AudienceList|AudienceList} 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 `listAudienceListsAsync()`
     *   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.
     */
    listAudienceListsStream(request?: protos.google.analytics.data.v1alpha.IListAudienceListsRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `listAudienceLists`, 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. All audience lists for this property will be listed in the
     *   response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of audience lists to return. The service may
     *   return fewer than this value. If unspecified, at most 200 audience lists
     *   will be returned. The maximum value is 1000 (higher values will be coerced
     *   to the maximum).
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous `ListAudienceLists` call.
     *   Provide this to retrieve the subsequent page.
     *
     *   When paginating, all other parameters provided to `ListAudienceLists` must
     *   match the call that provided the page token.
     * @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.analytics.data.v1alpha.AudienceList|AudienceList}. 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/v1alpha/alpha_analytics_data.list_audience_lists.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_ListAudienceLists_async
     */
    listAudienceListsAsync(request?: protos.google.analytics.data.v1alpha.IListAudienceListsRequest, options?: CallOptions): AsyncIterable<protos.google.analytics.data.v1alpha.IAudienceList>;
    /**
     * Lists all recurring audience lists for a property. This method can be used
     * for you to find and reuse existing recurring audience lists rather than
     * creating unnecessary new recurring audience lists. The same audience can
     * have multiple recurring audience lists that represent different dimension
     * combinations; for example, just the dimension `deviceId` or both the
     * dimensions `deviceId` and `userId`.
     *
     * This method is introduced at alpha stability with the intention of
     * gathering feedback on syntax and capabilities before entering beta. To give
     * your feedback on this API, complete the
     * [Google Analytics Audience Export API
     * Feedback](https://forms.gle/EeA5u5LW6PEggtCEA) form.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. All recurring audience lists for this property will be listed in
     *   the response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of recurring audience lists to return. The
     *   service may return fewer than this value. If unspecified, at most 200
     *   recurring audience lists will be returned. The maximum value is 1000
     *   (higher values will be coerced to the maximum).
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous
     *   `ListRecurringAudienceLists` call. Provide this to retrieve the subsequent
     *   page.
     *
     *   When paginating, all other parameters provided to
     *   `ListRecurringAudienceLists` must match the call that provided the page
     *   token.
     * @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.analytics.data.v1alpha.RecurringAudienceList|RecurringAudienceList}.
     *   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 `listRecurringAudienceListsAsync()`
     *   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.
     */
    listRecurringAudienceLists(request?: protos.google.analytics.data.v1alpha.IListRecurringAudienceListsRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IRecurringAudienceList[],
        protos.google.analytics.data.v1alpha.IListRecurringAudienceListsRequest | null,
        protos.google.analytics.data.v1alpha.IListRecurringAudienceListsResponse
    ]>;
    listRecurringAudienceLists(request: protos.google.analytics.data.v1alpha.IListRecurringAudienceListsRequest, options: CallOptions, callback: PaginationCallback<protos.google.analytics.data.v1alpha.IListRecurringAudienceListsRequest, protos.google.analytics.data.v1alpha.IListRecurringAudienceListsResponse | null | undefined, protos.google.analytics.data.v1alpha.IRecurringAudienceList>): void;
    listRecurringAudienceLists(request: protos.google.analytics.data.v1alpha.IListRecurringAudienceListsRequest, callback: PaginationCallback<protos.google.analytics.data.v1alpha.IListRecurringAudienceListsRequest, protos.google.analytics.data.v1alpha.IListRecurringAudienceListsResponse | null | undefined, protos.google.analytics.data.v1alpha.IRecurringAudienceList>): void;
    /**
     * Equivalent to `listRecurringAudienceLists`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. All recurring audience lists for this property will be listed in
     *   the response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of recurring audience lists to return. The
     *   service may return fewer than this value. If unspecified, at most 200
     *   recurring audience lists will be returned. The maximum value is 1000
     *   (higher values will be coerced to the maximum).
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous
     *   `ListRecurringAudienceLists` call. Provide this to retrieve the subsequent
     *   page.
     *
     *   When paginating, all other parameters provided to
     *   `ListRecurringAudienceLists` must match the call that provided the page
     *   token.
     * @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.analytics.data.v1alpha.RecurringAudienceList|RecurringAudienceList} 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 `listRecurringAudienceListsAsync()`
     *   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.
     */
    listRecurringAudienceListsStream(request?: protos.google.analytics.data.v1alpha.IListRecurringAudienceListsRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `listRecurringAudienceLists`, 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. All recurring audience lists for this property will be listed in
     *   the response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of recurring audience lists to return. The
     *   service may return fewer than this value. If unspecified, at most 200
     *   recurring audience lists will be returned. The maximum value is 1000
     *   (higher values will be coerced to the maximum).
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous
     *   `ListRecurringAudienceLists` call. Provide this to retrieve the subsequent
     *   page.
     *
     *   When paginating, all other parameters provided to
     *   `ListRecurringAudienceLists` must match the call that provided the page
     *   token.
     * @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.analytics.data.v1alpha.RecurringAudienceList|RecurringAudienceList}. 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/v1alpha/alpha_analytics_data.list_recurring_audience_lists.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_ListRecurringAudienceLists_async
     */
    listRecurringAudienceListsAsync(request?: protos.google.analytics.data.v1alpha.IListRecurringAudienceListsRequest, options?: CallOptions): AsyncIterable<protos.google.analytics.data.v1alpha.IRecurringAudienceList>;
    /**
     * Lists all report tasks for a property.
     *
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. All report tasks for this property will be listed in the
     *   response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of report tasks to return.
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous `ListReportTasks` call.
     *   Provide this to retrieve the subsequent page.
     * @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.analytics.data.v1alpha.ReportTask|ReportTask}.
     *   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 `listReportTasksAsync()`
     *   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.
     */
    listReportTasks(request?: protos.google.analytics.data.v1alpha.IListReportTasksRequest, options?: CallOptions): Promise<[
        protos.google.analytics.data.v1alpha.IReportTask[],
        protos.google.analytics.data.v1alpha.IListReportTasksRequest | null,
        protos.google.analytics.data.v1alpha.IListReportTasksResponse
    ]>;
    listReportTasks(request: protos.google.analytics.data.v1alpha.IListReportTasksRequest, options: CallOptions, callback: PaginationCallback<protos.google.analytics.data.v1alpha.IListReportTasksRequest, protos.google.analytics.data.v1alpha.IListReportTasksResponse | null | undefined, protos.google.analytics.data.v1alpha.IReportTask>): void;
    listReportTasks(request: protos.google.analytics.data.v1alpha.IListReportTasksRequest, callback: PaginationCallback<protos.google.analytics.data.v1alpha.IListReportTasksRequest, protos.google.analytics.data.v1alpha.IListReportTasksResponse | null | undefined, protos.google.analytics.data.v1alpha.IReportTask>): void;
    /**
     * Equivalent to `listReportTasks`, but returns a NodeJS Stream object.
     * @param {Object} request
     *   The request object that will be sent.
     * @param {string} request.parent
     *   Required. All report tasks for this property will be listed in the
     *   response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of report tasks to return.
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous `ListReportTasks` call.
     *   Provide this to retrieve the subsequent page.
     * @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.analytics.data.v1alpha.ReportTask|ReportTask} 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 `listReportTasksAsync()`
     *   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.
     */
    listReportTasksStream(request?: protos.google.analytics.data.v1alpha.IListReportTasksRequest, options?: CallOptions): Transform;
    /**
     * Equivalent to `listReportTasks`, 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. All report tasks for this property will be listed in the
     *   response. Format: `properties/{property}`
     * @param {number} [request.pageSize]
     *   Optional. The maximum number of report tasks to return.
     * @param {string} [request.pageToken]
     *   Optional. A page token, received from a previous `ListReportTasks` call.
     *   Provide this to retrieve the subsequent page.
     * @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.analytics.data.v1alpha.ReportTask|ReportTask}. 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/v1alpha/alpha_analytics_data.list_report_tasks.js</caption>
     * region_tag:analyticsdata_v1alpha_generated_AlphaAnalyticsData_ListReportTasks_async
     */
    listReportTasksAsync(request?: protos.google.analytics.data.v1alpha.IListReportTasksRequest, options?: CallOptions): AsyncIterable<protos.google.analytics.data.v1alpha.IReportTask>;
    /**
     * Gets the latest state of a long-running operation.  Clients can use this
     * method to poll the operation result at intervals as recommended by the API
     * service.
     *
     * @param {Object} request - The request object that will be sent.
     * @param {string} request.name - The name of the operation resource.
     * @param {Object=} options
     *   Optional parameters. You can override the default settings for this call,
     *   e.g, timeout, retries, paginations, etc. See {@link
     *   https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions}
     *   for the details.
     * @param {function(?Error, ?Object)=} callback
     *   The function which will be called with the result of the API call.
     *
     *   The second parameter to the callback is an object representing
     *   {@link google.longrunning.Operation | google.longrunning.Operation}.
     * @return {Promise} - The promise which resolves to an array.
     *   The first element of the array is an object representing
     * {@link google.longrunning.Operation | google.longrunning.Operation}.
     * The promise has a method named "cancel" which cancels the ongoing API call.
     *
     * @example
     * ```
     * const client = longrunning.operationsClient();
     * const name = '';
     * const [response] = await client.getOperation({name});
     * // doThingsWith(response)
     * ```
     */
    getOperation(request: protos.google.longrunning.GetOperationRequest, optionsOrCallback?: gax.CallOptions | Callback<protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined>, callback?: Callback<protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined>): Promise<[protos.google.longrunning.Operation]>;
    /**
     * Lists operations that match the specified filter in the request. If the
     * server doesn't support this method, it returns `UNIMPLEMENTED`. Returns an iterable object.
     *
     * For-await-of syntax is used with the iterable to recursively get response element on-demand.
     *
     * @param {Object} request - The request object that will be sent.
     * @param {string} request.name - The name of the operation collection.
     * @param {string} request.filter - The standard list filter.
     * @param {number=} request.pageSize -
     *   The maximum number of resources contained in the underlying API
     *   response. If page streaming is performed per-resource, this
     *   parameter does not affect the return value. If page streaming is
     *   performed per-page, this determines the maximum number of
     *   resources in a page.
     * @param {Object=} options
     *   Optional parameters. You can override the default settings for this call,
     *   e.g, timeout, retries, paginations, etc. See {@link
     *   https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the
     *   details.
     * @returns {Object}
     *   An iterable Object that conforms to {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | iteration protocols}.
     *
     * @example
     * ```
     * const client = longrunning.operationsClient();
     * for await (const response of client.listOperationsAsync(request));
     * // doThingsWith(response)
     * ```
     */
    listOperationsAsync(request: protos.google.longrunning.ListOperationsRequest, options?: gax.CallOptions): AsyncIterable<protos.google.longrunning.IOperation>;
    /**
     * Starts asynchronous cancellation on a long-running operation.  The server
     * makes a best effort to cancel the operation, but success is not
     * guaranteed.  If the server doesn't support this method, it returns
     * `google.rpc.Code.UNIMPLEMENTED`.  Clients can use
     * {@link Operations.GetOperation} or
     * other methods to check whether the cancellation succeeded or whether the
     * operation completed despite cancellation. On successful cancellation,
     * the operation is not deleted; instead, it becomes an operation with
     * an {@link Operation.error} value with a {@link google.rpc.Status.code} of
     * 1, corresponding to `Code.CANCELLED`.
     *
     * @param {Object} request - The request object that will be sent.
     * @param {string} request.name - The name of the operation resource to be cancelled.
     * @param {Object=} options
     *   Optional parameters. You can override the default settings for this call,
     * e.g, timeout, retries, paginations, etc. See {@link
     * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the
     * details.
     * @param {function(?Error)=} callback
     *   The function which will be called with the result of the API call.
     * @return {Promise} - The promise which resolves when API call finishes.
     *   The promise has a method named "cancel" which cancels the ongoing API
     * call.
     *
     * @example
     * ```
     * const client = longrunning.operationsClient();
     * await client.cancelOperation({name: ''});
     * ```
     */
    cancelOperation(request: protos.google.longrunning.CancelOperationRequest, optionsOrCallback?: gax.CallOptions | Callback<protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null>, callback?: Callback<protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null>): Promise<protos.google.protobuf.Empty>;
    /**
     * Deletes a long-running operation. This method indicates that the client is
     * no longer interested in the operation result. It does not cancel the
     * operation. If the server doesn't support this method, it returns
     * `google.rpc.Code.UNIMPLEMENTED`.
     *
     * @param {Object} request - The request object that will be sent.
     * @param {string} request.name - The name of the operation resource to be deleted.
     * @param {Object=} options
     *   Optional parameters. You can override the default settings for this call,
     * e.g, timeout, retries, paginations, etc. See {@link
     * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions}
     * for the details.
     * @param {function(?Error)=} callback
     *   The function which will be called with the result of the API call.
     * @return {Promise} - The promise which resolves when API call finishes.
     *   The promise has a method named "cancel" which cancels the ongoing API
     * call.
     *
     * @example
     * ```
     * const client = longrunning.operationsClient();
     * await client.deleteOperation({name: ''});
     * ```
     */
    deleteOperation(request: protos.google.longrunning.DeleteOperationRequest, optionsOrCallback?: gax.CallOptions | Callback<protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined>, callback?: Callback<protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined>): Promise<protos.google.protobuf.Empty>;
    /**
     * Return a fully-qualified audienceList resource name string.
     *
     * @param {string} property
     * @param {string} audience_list
     * @returns {string} Resource name string.
     */
    audienceListPath(property: string, audienceList: string): string;
    /**
     * Parse the property from AudienceList resource.
     *
     * @param {string} audienceListName
     *   A fully-qualified path representing AudienceList resource.
     * @returns {string} A string representing the property.
     */
    matchPropertyFromAudienceListName(audienceListName: string): string | number;
    /**
     * Parse the audience_list from AudienceList resource.
     *
     * @param {string} audienceListName
     *   A fully-qualified path representing AudienceList resource.
     * @returns {string} A string representing the audience_list.
     */
    matchAudienceListFromAudienceListName(audienceListName: string): string | number;
    /**
     * Return a fully-qualified property resource name string.
     *
     * @param {string} property
     * @returns {string} Resource name string.
     */
    propertyPath(property: string): string;
    /**
     * Parse the property from Property resource.
     *
     * @param {string} propertyName
     *   A fully-qualified path representing Property resource.
     * @returns {string} A string representing the property.
     */
    matchPropertyFromPropertyName(propertyName: string): string | number;
    /**
     * Return a fully-qualified propertyQuotasSnapshot resource name string.
     *
     * @param {string} property
     * @returns {string} Resource name string.
     */
    propertyQuotasSnapshotPath(property: string): string;
    /**
     * Parse the property from PropertyQuotasSnapshot resource.
     *
     * @param {string} propertyQuotasSnapshotName
     *   A fully-qualified path representing PropertyQuotasSnapshot resource.
     * @returns {string} A string representing the property.
     */
    matchPropertyFromPropertyQuotasSnapshotName(propertyQuotasSnapshotName: string): string | number;
    /**
     * Return a fully-qualified recurringAudienceList resource name string.
     *
     * @param {string} property
     * @param {string} recurring_audience_list
     * @returns {string} Resource name string.
     */
    recurringAudienceListPath(property: string, recurringAudienceList: string): string;
    /**
     * Parse the property from RecurringAudienceList resource.
     *
     * @param {string} recurringAudienceListName
     *   A fully-qualified path representing RecurringAudienceList resource.
     * @returns {string} A string representing the property.
     */
    matchPropertyFromRecurringAudienceListName(recurringAudienceListName: string): string | number;
    /**
     * Parse the recurring_audience_list from RecurringAudienceList resource.
     *
     * @param {string} recurringAudienceListName
     *   A fully-qualified path representing RecurringAudienceList resource.
     * @returns {string} A string representing the recurring_audience_list.
     */
    matchRecurringAudienceListFromRecurringAudienceListName(recurringAudienceListName: string): string | number;
    /**
     * Return a fully-qualified reportTask resource name string.
     *
     * @param {string} property
     * @param {string} report_task
     * @returns {string} Resource name string.
     */
    reportTaskPath(property: string, reportTask: string): string;
    /**
     * Parse the property from ReportTask resource.
     *
     * @param {string} reportTaskName
     *   A fully-qualified path representing ReportTask resource.
     * @returns {string} A string representing the property.
     */
    matchPropertyFromReportTaskName(reportTaskName: string): string | number;
    /**
     * Parse the report_task from ReportTask resource.
     *
     * @param {string} reportTaskName
     *   A fully-qualified path representing ReportTask resource.
     * @returns {string} A string representing the report_task.
     */
    matchReportTaskFromReportTaskName(reportTaskName: 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>;
}
