@google-analytics/data
Version:
755 lines • 64.9 kB
TypeScript
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 v1beta
*/
export declare class BetaAnalyticsDataClient {
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;
betaAnalyticsDataStub?: Promise<{
[name: string]: Function;
}>;
/**
* Construct an instance of BetaAnalyticsDataClient.
*
* @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 BetaAnalyticsDataClient({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 report of your Google Analytics event data. Reports
* contain statistics derived from data collected by the Google Analytics
* tracking code. The data returned from the API is as a table with columns
* for the requested dimensions and metrics. Metrics are individual
* measurements of user activity on your property, such as active users or
* event count. Dimensions break down metrics across some common criteria,
* such as country or event name.
*
* For a guide to constructing requests & understanding responses, see
* [Creating a
* Report](https://developers.google.com/analytics/devguides/reporting/data/v1/basics).
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.property
* 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.dimensions
* The dimensions requested and displayed.
* @param {number[]} request.metrics
* The metrics requested and displayed.
* @param {number[]} request.dateRanges
* 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. In a cohort request, this `dateRanges`
* must be unspecified.
* @param {google.analytics.data.v1beta.FilterExpression} request.dimensionFilter
* Dimension filters let you ask for only specific dimension values in
* the report. To learn more, see [Fundamentals of Dimension
* Filters](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#dimension_filters)
* for examples. Metrics cannot be used in this filter.
* @param {google.analytics.data.v1beta.FilterExpression} request.metricFilter
* The filter clause of metrics. Applied after aggregating the report's rows,
* similar to SQL having-clause. Dimensions cannot be used in this filter.
* @param {number} request.offset
* 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
* 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`. For instance, there are
* fewer than 300 possible values for the dimension `country`, so when
* reporting on only `country`, you can't get more than 300 rows, even if you
* set `limit` to a higher value.
*
* To learn more about this pagination parameter, see
* [Pagination](https://developers.google.com/analytics/devguides/reporting/data/v1/basics#pagination).
* @param {number[]} request.metricAggregations
* Aggregation of metrics. Aggregated metric values will be shown in rows
* where the dimension_values are set to "RESERVED_(MetricAggregation)".
* Aggregates including both comparisons and multiple date ranges will
* be aggregated based on the date ranges.
* @param {number[]} request.orderBys
* Specifies how rows are ordered in the response.
* Requests including both comparisons and multiple date ranges will
* have order bys applied on the comparisons.
* @param {string} request.currencyCode
* A currency code in ISO4217 format, such as "AED", "USD", "JPY".
* If the field is empty, the report uses the property's default currency.
* @param {google.analytics.data.v1beta.CohortSpec} request.cohortSpec
* Cohort group associated with this request. If there is a cohort group
* in the request the 'cohort' dimension must be present.
* @param {boolean} request.keepEmptyRows
* If false or unspecified, each row with all metrics equal to 0 will not be
* returned. If true, these rows will be returned if they are not separately
* removed by a filter.
*
* Regardless of this `keep_empty_rows` setting, only data recorded by the
* Google Analytics property can be displayed in a report.
*
* For example if a property never logs a `purchase` event, then a query for
* the `eventName` dimension and `eventCount` metric will not have a row
* eventName: "purchase" and eventCount: 0.
* @param {boolean} request.returnPropertyQuota
* Toggles whether to return the current state of this Google Analytics
* property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).
* @param {number[]} [request.comparisons]
* Optional. The configuration of comparisons requested and displayed. The
* request only requires a comparisons field in order to receive a comparison
* column in the response.
* @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.v1beta.RunReportResponse|RunReportResponse}.
* 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/v1beta/beta_analytics_data.run_report.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_RunReport_async
*/
runReport(request?: protos.google.analytics.data.v1beta.IRunReportRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.IRunReportResponse,
protos.google.analytics.data.v1beta.IRunReportRequest | undefined,
{} | undefined
]>;
runReport(request: protos.google.analytics.data.v1beta.IRunReportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IRunReportResponse, protos.google.analytics.data.v1beta.IRunReportRequest | null | undefined, {} | null | undefined>): void;
runReport(request: protos.google.analytics.data.v1beta.IRunReportRequest, callback: Callback<protos.google.analytics.data.v1beta.IRunReportResponse, protos.google.analytics.data.v1beta.IRunReportRequest | null | undefined, {} | null | undefined>): void;
/**
* Returns a customized pivot report of your Google Analytics event data.
* Pivot reports are more advanced and expressive formats than regular
* reports. In a pivot report, dimensions are only visible if they are
* included in a pivot. Multiple pivots can be specified to further dissect
* your data.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.property
* 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.dimensions
* The dimensions requested. All defined dimensions must be used by one of the
* following: dimension_expression, dimension_filter, pivots, order_bys.
* @param {number[]} request.metrics
* The metrics requested, at least one metric needs to be specified. All
* defined metrics must be used by one of the following: metric_expression,
* metric_filter, order_bys.
* @param {number[]} request.dateRanges
* The date range to retrieve event data for the report. If multiple date
* ranges are specified, event data from each date range is used in the
* report. A special dimension with field name "dateRange" can be included in
* a Pivot's field names; if included, the report compares between date
* ranges. In a cohort request, this `dateRanges` must be unspecified.
* @param {number[]} request.pivots
* Describes the visual format of the report's dimensions in columns or rows.
* The union of the fieldNames (dimension names) in all pivots must be a
* subset of dimension names defined in Dimensions. No two pivots can share a
* dimension. A dimension is only visible if it appears in a pivot.
* @param {google.analytics.data.v1beta.FilterExpression} request.dimensionFilter
* The filter clause of dimensions. Dimensions must be requested to be used in
* this filter. Metrics cannot be used in this filter.
* @param {google.analytics.data.v1beta.FilterExpression} request.metricFilter
* The filter clause of metrics. Applied at post aggregation phase, similar to
* SQL having-clause. Metrics must be requested to be used in this filter.
* Dimensions cannot be used in this filter.
* @param {string} request.currencyCode
* A currency code in ISO4217 format, such as "AED", "USD", "JPY".
* If the field is empty, the report uses the property's default currency.
* @param {google.analytics.data.v1beta.CohortSpec} request.cohortSpec
* Cohort group associated with this request. If there is a cohort group
* in the request the 'cohort' dimension must be present.
* @param {boolean} request.keepEmptyRows
* If false or unspecified, each row with all metrics equal to 0 will not be
* returned. If true, these rows will be returned if they are not separately
* removed by a filter.
*
* Regardless of this `keep_empty_rows` setting, only data recorded by the
* Google Analytics property can be displayed in a report.
*
* For example if a property never logs a `purchase` event, then a query for
* the `eventName` dimension and `eventCount` metric will not have a row
* eventName: "purchase" and eventCount: 0.
* @param {boolean} request.returnPropertyQuota
* Toggles whether to return the current state of this Google Analytics
* property's quota. Quota is returned in [PropertyQuota](#PropertyQuota).
* @param {number[]} [request.comparisons]
* Optional. The configuration of comparisons requested and displayed. The
* request requires both a comparisons field and a comparisons dimension to
* receive a comparison column in the response.
* @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.v1beta.RunPivotReportResponse|RunPivotReportResponse}.
* 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/v1beta/beta_analytics_data.run_pivot_report.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_RunPivotReport_async
*/
runPivotReport(request?: protos.google.analytics.data.v1beta.IRunPivotReportRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.IRunPivotReportResponse,
protos.google.analytics.data.v1beta.IRunPivotReportRequest | undefined,
{} | undefined
]>;
runPivotReport(request: protos.google.analytics.data.v1beta.IRunPivotReportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IRunPivotReportResponse, protos.google.analytics.data.v1beta.IRunPivotReportRequest | null | undefined, {} | null | undefined>): void;
runPivotReport(request: protos.google.analytics.data.v1beta.IRunPivotReportRequest, callback: Callback<protos.google.analytics.data.v1beta.IRunPivotReportResponse, protos.google.analytics.data.v1beta.IRunPivotReportRequest | null | undefined, {} | null | undefined>): void;
/**
* Returns multiple reports in a batch. All reports must be for the same
* Google Analytics property.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.property
* 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).
* This property must be specified for the batch. The property within
* RunReportRequest may either be unspecified or consistent with this
* property.
*
* Example: properties/1234
* @param {number[]} request.requests
* Individual requests. Each request has a separate report response. Each
* batch request is allowed up to 5 requests.
* @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.v1beta.BatchRunReportsResponse|BatchRunReportsResponse}.
* 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/v1beta/beta_analytics_data.batch_run_reports.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_BatchRunReports_async
*/
batchRunReports(request?: protos.google.analytics.data.v1beta.IBatchRunReportsRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.IBatchRunReportsResponse,
protos.google.analytics.data.v1beta.IBatchRunReportsRequest | undefined,
{} | undefined
]>;
batchRunReports(request: protos.google.analytics.data.v1beta.IBatchRunReportsRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IBatchRunReportsResponse, protos.google.analytics.data.v1beta.IBatchRunReportsRequest | null | undefined, {} | null | undefined>): void;
batchRunReports(request: protos.google.analytics.data.v1beta.IBatchRunReportsRequest, callback: Callback<protos.google.analytics.data.v1beta.IBatchRunReportsResponse, protos.google.analytics.data.v1beta.IBatchRunReportsRequest | null | undefined, {} | null | undefined>): void;
/**
* Returns multiple pivot reports in a batch. All reports must be for the same
* Google Analytics property.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.property
* 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).
* This property must be specified for the batch. The property within
* RunPivotReportRequest may either be unspecified or consistent with this
* property.
*
* Example: properties/1234
* @param {number[]} request.requests
* Individual requests. Each request has a separate pivot report response.
* Each batch request is allowed up to 5 requests.
* @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.v1beta.BatchRunPivotReportsResponse|BatchRunPivotReportsResponse}.
* 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/v1beta/beta_analytics_data.batch_run_pivot_reports.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_BatchRunPivotReports_async
*/
batchRunPivotReports(request?: protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.IBatchRunPivotReportsResponse,
protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest | undefined,
{} | undefined
]>;
batchRunPivotReports(request: protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IBatchRunPivotReportsResponse, protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest | null | undefined, {} | null | undefined>): void;
batchRunPivotReports(request: protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest, callback: Callback<protos.google.analytics.data.v1beta.IBatchRunPivotReportsResponse, protos.google.analytics.data.v1beta.IBatchRunPivotReportsRequest | null | undefined, {} | null | undefined>): void;
/**
* Returns metadata for dimensions and metrics available in reporting methods.
* Used to explore the dimensions and metrics. In this method, a Google
* Analytics property identifier is specified in the request, and
* the metadata response includes Custom dimensions and metrics as well as
* Universal metadata.
*
* For example if a custom metric with parameter name `levels_unlocked` is
* registered to a property, the Metadata response will contain
* `customEvent:levels_unlocked`. Universal metadata are dimensions and
* metrics applicable to any property such as `country` and `totalUsers`.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The resource name of the metadata to retrieve. This name field is
* specified in the URL path and not URL parameters. Property is a numeric
* Google Analytics property identifier. To learn more, see [where to find
* your Property
* ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
*
* Example: properties/1234/metadata
*
* Set the Property ID to 0 for dimensions and metrics common to all
* properties. In this special mode, this method will not return custom
* dimensions and metrics.
* @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.v1beta.Metadata|Metadata}.
* 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/v1beta/beta_analytics_data.get_metadata.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_GetMetadata_async
*/
getMetadata(request?: protos.google.analytics.data.v1beta.IGetMetadataRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.IMetadata,
protos.google.analytics.data.v1beta.IGetMetadataRequest | undefined,
{} | undefined
]>;
getMetadata(request: protos.google.analytics.data.v1beta.IGetMetadataRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IMetadata, protos.google.analytics.data.v1beta.IGetMetadataRequest | null | undefined, {} | null | undefined>): void;
getMetadata(request: protos.google.analytics.data.v1beta.IGetMetadataRequest, callback: Callback<protos.google.analytics.data.v1beta.IMetadata, protos.google.analytics.data.v1beta.IGetMetadataRequest | null | undefined, {} | null | undefined>): void;
/**
* Returns a customized report of realtime event data for your property.
* Events appear in realtime reports seconds after they have been sent to
* the Google Analytics. Realtime reports show events and usage data for the
* periods of time ranging from the present moment to 30 minutes ago (up to
* 60 minutes for Google Analytics 360 properties).
*
* For a guide to constructing realtime requests & understanding responses,
* see [Creating a Realtime
* Report](https://developers.google.com/analytics/devguides/reporting/data/v1/realtime-basics).
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.property
* 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).
*
* Example: properties/1234
* @param {number[]} request.dimensions
* The dimensions requested and displayed.
* @param {number[]} request.metrics
* The metrics requested and displayed.
* @param {google.analytics.data.v1beta.FilterExpression} request.dimensionFilter
* The filter clause of dimensions. Metrics cannot be used in this filter.
* @param {google.analytics.data.v1beta.FilterExpression} request.metricFilter
* The filter clause of metrics. Applied at post aggregation phase, similar to
* SQL having-clause. Dimensions cannot be used in this filter.
* @param {number} request.limit
* 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`. For instance, there are
* fewer than 300 possible values for the dimension `country`, so when
* reporting on only `country`, you can't get more than 300 rows, even if you
* set `limit` to a higher value.
* @param {number[]} request.metricAggregations
* Aggregation of metrics. Aggregated metric values will be shown in rows
* where the dimension_values are set to "RESERVED_(MetricAggregation)".
* @param {number[]} request.orderBys
* Specifies how rows are ordered in the response.
* @param {boolean} request.returnPropertyQuota
* Toggles whether to return the current state of this Google Analytics
* property's Realtime quota. Quota is returned in
* [PropertyQuota](#PropertyQuota).
* @param {number[]} request.minuteRanges
* The minute ranges of event data to read. If unspecified, one minute range
* for the last 30 minutes will be used. If multiple minute ranges are
* requested, each response row will contain a zero based minute range index.
* If two minute ranges overlap, the event data for the overlapping minutes is
* included in the response rows for both minute ranges.
* @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.v1beta.RunRealtimeReportResponse|RunRealtimeReportResponse}.
* 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/v1beta/beta_analytics_data.run_realtime_report.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_RunRealtimeReport_async
*/
runRealtimeReport(request?: protos.google.analytics.data.v1beta.IRunRealtimeReportRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.IRunRealtimeReportResponse,
protos.google.analytics.data.v1beta.IRunRealtimeReportRequest | undefined,
{} | undefined
]>;
runRealtimeReport(request: protos.google.analytics.data.v1beta.IRunRealtimeReportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IRunRealtimeReportResponse, protos.google.analytics.data.v1beta.IRunRealtimeReportRequest | null | undefined, {} | null | undefined>): void;
runRealtimeReport(request: protos.google.analytics.data.v1beta.IRunRealtimeReportRequest, callback: Callback<protos.google.analytics.data.v1beta.IRunRealtimeReportResponse, protos.google.analytics.data.v1beta.IRunRealtimeReportRequest | null | undefined, {} | null | undefined>): void;
/**
* This compatibility method lists dimensions and metrics that can be added to
* a report request and maintain compatibility. This method fails if the
* request's dimensions and metrics are incompatible.
*
* In Google Analytics, reports fail if they request incompatible dimensions
* and/or metrics; in that case, you will need to remove dimensions and/or
* metrics from the incompatible report until the report is compatible.
*
* The Realtime and Core reports have different compatibility rules. This
* method checks compatibility for Core reports.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.property
* A Google Analytics property identifier whose events are tracked. To
* learn more, see [where to find your Property
* ID](https://developers.google.com/analytics/devguides/reporting/data/v1/property-id).
* `property` should be the same value as in your `runReport` request.
*
* Example: properties/1234
* @param {number[]} request.dimensions
* The dimensions in this report. `dimensions` should be the same value as in
* your `runReport` request.
* @param {number[]} request.metrics
* The metrics in this report. `metrics` should be the same value as in your
* `runReport` request.
* @param {google.analytics.data.v1beta.FilterExpression} request.dimensionFilter
* The filter clause of dimensions. `dimensionFilter` should be the same value
* as in your `runReport` request.
* @param {google.analytics.data.v1beta.FilterExpression} request.metricFilter
* The filter clause of metrics. `metricFilter` should be the same value as in
* your `runReport` request
* @param {google.analytics.data.v1beta.Compatibility} request.compatibilityFilter
* Filters the dimensions and metrics in the response to just this
* compatibility. Commonly used as `”compatibilityFilter”: “COMPATIBLE”`
* to only return compatible dimensions & metrics.
* @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.v1beta.CheckCompatibilityResponse|CheckCompatibilityResponse}.
* 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/v1beta/beta_analytics_data.check_compatibility.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_CheckCompatibility_async
*/
checkCompatibility(request?: protos.google.analytics.data.v1beta.ICheckCompatibilityRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.ICheckCompatibilityResponse,
protos.google.analytics.data.v1beta.ICheckCompatibilityRequest | undefined,
{} | undefined
]>;
checkCompatibility(request: protos.google.analytics.data.v1beta.ICheckCompatibilityRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.ICheckCompatibilityResponse, protos.google.analytics.data.v1beta.ICheckCompatibilityRequest | null | undefined, {} | null | undefined>): void;
checkCompatibility(request: protos.google.analytics.data.v1beta.ICheckCompatibilityRequest, callback: Callback<protos.google.analytics.data.v1beta.ICheckCompatibilityResponse, protos.google.analytics.data.v1beta.ICheckCompatibilityRequest | null | undefined, {} | null | undefined>): void;
/**
* Retrieves an audience export of users. After creating an audience, the
* users are not immediately available for exporting. First, a request to
* `CreateAudienceExport` is necessary to create an audience export of users,
* and then second, this method is used to retrieve the users in the audience
* export.
*
* See [Creating an Audience
* Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
* for an introduction to Audience Exports 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.
*
* Audience Export APIs have some methods at alpha and other methods at beta
* stability. The intention is to advance methods to beta stability after some
* feedback and adoption. 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 export to retrieve users from.
* Format: `properties/{property}/audienceExports/{audience_export}`
* @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.v1beta.QueryAudienceExportResponse|QueryAudienceExportResponse}.
* 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/v1beta/beta_analytics_data.query_audience_export.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_QueryAudienceExport_async
*/
queryAudienceExport(request?: protos.google.analytics.data.v1beta.IQueryAudienceExportRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.IQueryAudienceExportResponse,
protos.google.analytics.data.v1beta.IQueryAudienceExportRequest | undefined,
{} | undefined
]>;
queryAudienceExport(request: protos.google.analytics.data.v1beta.IQueryAudienceExportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IQueryAudienceExportResponse, protos.google.analytics.data.v1beta.IQueryAudienceExportRequest | null | undefined, {} | null | undefined>): void;
queryAudienceExport(request: protos.google.analytics.data.v1beta.IQueryAudienceExportRequest, callback: Callback<protos.google.analytics.data.v1beta.IQueryAudienceExportResponse, protos.google.analytics.data.v1beta.IQueryAudienceExportRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets configuration metadata about a specific audience export. This method
* can be used to understand an audience export after it has been created.
*
* See [Creating an Audience
* Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
* for an introduction to Audience Exports with examples.
*
* Audience Export APIs have some methods at alpha and other methods at beta
* stability. The intention is to advance methods to beta stability after some
* feedback and adoption. 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 export resource name.
* Format: `properties/{property}/audienceExports/{audience_export}`
* @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.v1beta.AudienceExport|AudienceExport}.
* 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/v1beta/beta_analytics_data.get_audience_export.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_GetAudienceExport_async
*/
getAudienceExport(request?: protos.google.analytics.data.v1beta.IGetAudienceExportRequest, options?: CallOptions): Promise<[
protos.google.analytics.data.v1beta.IAudienceExport,
protos.google.analytics.data.v1beta.IGetAudienceExportRequest | undefined,
{} | undefined
]>;
getAudienceExport(request: protos.google.analytics.data.v1beta.IGetAudienceExportRequest, options: CallOptions, callback: Callback<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IGetAudienceExportRequest | null | undefined, {} | null | undefined>): void;
getAudienceExport(request: protos.google.analytics.data.v1beta.IGetAudienceExportRequest, callback: Callback<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IGetAudienceExportRequest | null | undefined, {} | null | undefined>): void;
/**
* Creates an audience export for later retrieval. This method quickly returns
* the audience export's resource name and initiates a long running
* asynchronous request to form an audience export. To export the users in an
* audience export, first create the audience export through this method and
* then send the audience resource name to the `QueryAudienceExport` method.
*
* See [Creating an Audience
* Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
* for an introduction to Audience Exports with examples.
*
* An audience export is a snapshot of the users currently in the audience at
* the time of audience export creation. Creating audience exports 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 exports
* contain the users in each audience.
*
* Audience Export APIs have some methods at alpha and other methods at beta
* stability. The intention is to advance methods to beta stability after some
* feedback and adoption. 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 export will be created.
* Format: `properties/{property}`
* @param {google.analytics.data.v1beta.AudienceExport} request.audienceExport
* Required. The audience export 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/v1beta/beta_analytics_data.create_audience_export.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_CreateAudienceExport_async
*/
createAudienceExport(request?: protos.google.analytics.data.v1beta.ICreateAudienceExportRequest, options?: CallOptions): Promise<[
LROperation<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IAudienceExportMetadata>,
protos.google.longrunning.IOperation | undefined,
{} | undefined
]>;
createAudienceExport(request: protos.google.analytics.data.v1beta.ICreateAudienceExportRequest, options: CallOptions, callback: Callback<LROperation<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IAudienceExportMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
createAudienceExport(request: protos.google.analytics.data.v1beta.ICreateAudienceExportRequest, callback: Callback<LROperation<protos.google.analytics.data.v1beta.IAudienceExport, protos.google.analytics.data.v1beta.IAudienceExportMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
/**
* Check the status of the long running operation returned by `createAudienceExport()`.
* @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/v1beta/beta_analytics_data.create_audience_export.js</caption>
* region_tag:analyticsdata_v1beta_generated_BetaAnalyticsData_CreateAudienceExport_async
*/
checkCreateAudienceExportProgress(name: string): Promise<LROperation<protos.google.analytics.data.v1beta.AudienceExport, protos.google.analytics.data.v1beta.AudienceExportMetadata>>;
/**
* Lists all audience exports for a property. This method can be used for you
* to find and reuse existing audience exports rather than creating
* unnecessary new audience exports. The same audience can have multiple
* audience exports that represent the export of users that were in an
* audience on different days.
*
* See [Creating an Audience
* Export](https://developers.google.com/analytics/devguides/reporting/data/v1/audience-list-basics)
* for an introduction to Audience Exports with examples.
*
* Audience Export APIs have some methods at alpha and other methods at beta
* stability. The intention is to advance methods to beta stability after some
* feedback and adoption. 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 exports for this property will be listed in the
* response. Format: `properties/{property}`
* @param {number} [request.pageSize]
* Optional. The maximum number of audience exports to return. The service may
* return fewer than this value. If unspecified, at most 200 audience exports
* 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 `ListAudienceExports`
* call. Provide this to retrieve the subsequent page.
*
* When paginating, all other parameters provided to `ListAudienceExports`
* 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.v1beta.AudienceExport|AudienceExport}.
* 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 `listAudienceExportsAsync()`
* 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.m