import type * as gax from 'google-gax'; import type { Callback, CallOptions, Descriptors, ClientOptions } from 'google-gax'; import * as protos from '../../protos/protos'; /** * The service for validating addresses. * @class * @memberof v1 */ export declare class AddressValidationClient { 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; }; addressValidationStub?: Promise<{ [name: string]: Function; }>; /** * Construct an instance of AddressValidationClient. * * @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 AddressValidationClient({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(): never[]; getProjectId(): Promise; getProjectId(callback: Callback): void; /** * Validates an address. * * @param {Object} request * The request object that will be sent. * @param {google.type.PostalAddress} request.address * Required. The address being validated. Unformatted addresses should be * submitted via {@link protos.google.type.PostalAddress.address_lines|`address_lines`}. * * The total length of the fields in this input must not exceed 280 * characters. * * Supported regions can be found * [here](https://developers.google.com/maps/documentation/address-validation/coverage). * * The {@link protos.google.type.PostalAddress.language_code|language_code} value in the * input address is reserved for future uses and is ignored today. The * validated address result will be populated based on the preferred language * for the given address, as identified by the system. * * The Address Validation API ignores the values in * {@link protos.google.type.PostalAddress.recipients|recipients} and * {@link protos.google.type.PostalAddress.organization|organization}. Any values in those * fields will be discarded and not returned. Please do not set them. * @param {string} request.previousResponseId * This field must be empty for the first address validation request. If * more requests are necessary to fully validate a single address (for * example if the changes the user makes after the initial validation need to * be re-validated), then each followup request must populate this field with * the * {@link protos.google.maps.addressvalidation.v1.ValidateAddressResponse.response_id|response_id} * from the very first response in the validation sequence. * @param {boolean} request.enableUspsCass * Enables USPS CASS compatible mode. This affects _only_ the * [google.maps.addressvalidation.v1.ValidationResult.usps_data] field of * [google.maps.addressvalidation.v1.ValidationResult]. Note: for USPS CASS * enabled requests for addresses in Puerto Rico, a * [google.type.PostalAddress.region_code] of the `address` must be provided * as "PR", or an [google.type.PostalAddress.administrative_area] of the * `address` must be provided as "Puerto Rico" (case-insensitive) or "PR". * * It's recommended to use a componentized `address`, or alternatively specify * at least two [google.type.PostalAddress.address_lines] where the first line * contains the street number and name and the second line contains the city, * state, and zip code. * @param {string} [request.sessionToken] * Optional. A string which identifies an Autocomplete session for billing * purposes. Must be a URL and filename safe base64 string with at most 36 * ASCII characters in length. Otherwise an INVALID_ARGUMENT error is * returned. * * The session begins when the user makes an Autocomplete query, and concludes * when they select a place and a call to Place Details or Address Validation * is made. Each session can have multiple Autocomplete queries, followed by * one Place Details or Address Validation request. The credentials used for * each request within a session must belong to the same Google Cloud Console * project. Once a session has concluded, the token is no longer valid; your * app must generate a fresh token for each session. If the `sessionToken` * parameter is omitted, or if you reuse a session token, the session is * charged as if no session token was provided (each request is billed * separately). * * Note: Address Validation can only be used in sessions with the * Autocomplete (New) API, not the Autocomplete API. See * https://developers.google.com/maps/documentation/places/web-service/session-pricing * for more details. * @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.maps.addressvalidation.v1.ValidateAddressResponse|ValidateAddressResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/address_validation.validate_address.js * region_tag:addressvalidation_v1_generated_AddressValidation_ValidateAddress_async */ validateAddress(request?: protos.google.maps.addressvalidation.v1.IValidateAddressRequest, options?: CallOptions): Promise<[ protos.google.maps.addressvalidation.v1.IValidateAddressResponse, protos.google.maps.addressvalidation.v1.IValidateAddressRequest | undefined, {} | undefined ]>; validateAddress(request: protos.google.maps.addressvalidation.v1.IValidateAddressRequest, options: CallOptions, callback: Callback): void; validateAddress(request: protos.google.maps.addressvalidation.v1.IValidateAddressRequest, callback: Callback): void; /** * Feedback about the outcome of the sequence of validation attempts. This * should be the last call made after a sequence of validation calls for the * same address, and should be called once the transaction is concluded. This * should only be sent once for the sequence of `ValidateAddress` requests * needed to validate an address fully. * * @param {Object} request * The request object that will be sent. * @param {google.maps.addressvalidation.v1.ProvideValidationFeedbackRequest.ValidationConclusion} request.conclusion * Required. The outcome of the sequence of validation attempts. * * If this field is set to `VALIDATION_CONCLUSION_UNSPECIFIED`, an * `INVALID_ARGUMENT` error will be returned. * @param {string} request.responseId * Required. The ID of the response that this feedback is for. This should be * the * {@link protos.google.maps.addressvalidation.v1.ValidateAddressRequest.response_id|response_id} * from the first response in a series of address validation attempts. * @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.maps.addressvalidation.v1.ProvideValidationFeedbackResponse|ProvideValidationFeedbackResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example include:samples/generated/v1/address_validation.provide_validation_feedback.js * region_tag:addressvalidation_v1_generated_AddressValidation_ProvideValidationFeedback_async */ provideValidationFeedback(request?: protos.google.maps.addressvalidation.v1.IProvideValidationFeedbackRequest, options?: CallOptions): Promise<[ protos.google.maps.addressvalidation.v1.IProvideValidationFeedbackResponse, protos.google.maps.addressvalidation.v1.IProvideValidationFeedbackRequest | undefined, {} | undefined ]>; provideValidationFeedback(request: protos.google.maps.addressvalidation.v1.IProvideValidationFeedbackRequest, options: CallOptions, callback: Callback): void; provideValidationFeedback(request: protos.google.maps.addressvalidation.v1.IProvideValidationFeedbackRequest, callback: Callback): void; /** * 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; }