@wix/auto_sdk_gbp_locations 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/build/cjs/index.d.ts +913 -0
  2. package/build/cjs/index.js +3088 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +6699 -0
  5. package/build/cjs/index.typings.js +2726 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +5220 -0
  8. package/build/cjs/meta.js +2274 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/schemas.d.ts +11094 -0
  11. package/build/cjs/schemas.js +15256 -0
  12. package/build/cjs/schemas.js.map +1 -0
  13. package/build/es/index.d.mts +913 -0
  14. package/build/es/index.mjs +3002 -0
  15. package/build/es/index.mjs.map +1 -0
  16. package/build/es/index.typings.d.mts +6699 -0
  17. package/build/es/index.typings.mjs +2639 -0
  18. package/build/es/index.typings.mjs.map +1 -0
  19. package/build/es/meta.d.mts +5220 -0
  20. package/build/es/meta.mjs +2186 -0
  21. package/build/es/meta.mjs.map +1 -0
  22. package/build/es/package.json +3 -0
  23. package/build/es/schemas.d.mts +11094 -0
  24. package/build/es/schemas.mjs +15144 -0
  25. package/build/es/schemas.mjs.map +1 -0
  26. package/build/internal/cjs/index.d.ts +933 -0
  27. package/build/internal/cjs/index.js +3088 -0
  28. package/build/internal/cjs/index.js.map +1 -0
  29. package/build/internal/cjs/index.typings.d.ts +6724 -0
  30. package/build/internal/cjs/index.typings.js +2726 -0
  31. package/build/internal/cjs/index.typings.js.map +1 -0
  32. package/build/internal/cjs/meta.d.ts +5267 -0
  33. package/build/internal/cjs/meta.js +2274 -0
  34. package/build/internal/cjs/meta.js.map +1 -0
  35. package/build/internal/cjs/schemas.d.ts +11094 -0
  36. package/build/internal/cjs/schemas.js +15256 -0
  37. package/build/internal/cjs/schemas.js.map +1 -0
  38. package/build/internal/es/index.d.mts +933 -0
  39. package/build/internal/es/index.mjs +3002 -0
  40. package/build/internal/es/index.mjs.map +1 -0
  41. package/build/internal/es/index.typings.d.mts +6724 -0
  42. package/build/internal/es/index.typings.mjs +2639 -0
  43. package/build/internal/es/index.typings.mjs.map +1 -0
  44. package/build/internal/es/meta.d.mts +5267 -0
  45. package/build/internal/es/meta.mjs +2186 -0
  46. package/build/internal/es/meta.mjs.map +1 -0
  47. package/build/internal/es/schemas.d.mts +11094 -0
  48. package/build/internal/es/schemas.mjs +15144 -0
  49. package/build/internal/es/schemas.mjs.map +1 -0
  50. package/meta/package.json +3 -0
  51. package/package.json +61 -0
  52. package/schemas/package.json +3 -0
@@ -0,0 +1,913 @@
1
+ import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
2
+ import { GBPLocation, QueryGoogleLocationsOptions, QueryGoogleLocationsResponse, GetGoogleLocationResponse, CreateLocationApplicationErrors, UpdateLocation, CreateGoogleLocationOptions, CreateGoogleLocationResponse, CreateGoogleLocationApplicationErrors, DeleteGoogleLocationApplicationErrors, GoogleLocation, UpdateGoogleLocationOptions, UpdateGoogleLocationResponse, UpdateGoogleLocationApplicationErrors, BulkCreateLocationsOptions, BulkCreateLocationsResponse, BulkCreateLocationsApplicationErrors, BulkDeleteLocationsResponse, ListGbpAccountsOptions, ListGbpAccountsResponse, ListGbpAccountsApplicationErrors, ListUnimportedLocationsOptions, ListUnimportedLocationsResponse, ListUnimportedLocationsApplicationErrors, ListReviewsOptions, ListReviewsResponse, ListReviewsApplicationErrors, PutReviewReplyIdentifiers, PutReviewReplyResponse, PutReviewReplyApplicationErrors, DeleteReviewReplyIdentifiers, DeleteReviewReplyApplicationErrors, ListMediaOptions, ListMediaResponse, ListMediaApplicationErrors, CreateMediaOptions, CreateMediaResponse, CreateMediaApplicationErrors, DeleteMediaIdentifiers, DeleteMediaApplicationErrors, LocationAttribute, UpdateLocationAttributesResponse, UpdateLocationAttributesApplicationErrors, GetLocationAttributesResponse, GetLocationAttributesApplicationErrors, GetLocationLodgingResponse, GetLocationLodgingApplicationErrors, Lodging, UpdateLocationLodgingOptions, UpdateLocationLodgingResponse, UpdateLocationLodgingApplicationErrors, ListAttributeMetadataOptions, ListAttributeMetadataResponse, ListAttributeMetadataApplicationErrors, ListCategoriesOptions, ListCategoriesResponse, ListCategoriesApplicationErrors, GetVerificationOptionsResponse, GetVerificationOptionsApplicationErrors, VerificationMethodWithLiterals, StartVerificationOptions, StartVerificationResponse, StartVerificationApplicationErrors, CompleteVerificationOptions, CompleteVerificationResponse, CompleteVerificationApplicationErrors, GetVoiceOfMerchantResponse, InsightsTimeRange, GetLocationInsightsOptions, GetLocationInsightsResponse, MonthlyRange, ListSearchKeywordImpressionsOptions, ListSearchKeywordImpressionsResponse, ListSearchKeywordImpressionsApplicationErrors, InviteAdminToLocationOptions, InviteAdminToLocationResponse, GetLocationAdminsResponse, GetAddressSchemaByCountryCodeOptions, GetAddressSchemaByCountryCodeResponse, GetAddressSchemaByCountryCodeApplicationErrors, SuggestRegionsOptions, SuggestRegionsResponse, SuggestRegionsApplicationErrors, SuggestEstablishmentsOptions, SuggestEstablishmentsResponse, SuggestEstablishmentsApplicationErrors, SearchGoogleLocationsOptions, SearchGoogleLocationsResponse, SearchGoogleLocationsApplicationErrors, LocationsQueryBuilder, GBPLocationQuery, typedQueryGbpLocations } from './index.typings.js';
3
+ export { Accessibility, AccountInfo, ActionEvent, Activities, AddressFieldType, AddressFieldTypeWithLiterals, AddressSchema, AmenityException, AmenityExceptionWithLiterals, ApplicationError, AttributeMetadata, AttributeValueMetadata, AttributeValueMetadataValueOneOf, AttributeValueType, AttributeValueTypeWithLiterals, BreeamCertification, BreeamCertificationWithLiterals, BulkActionMetadata, BulkCreateLocationResult, BulkCreateLocationsRequest, BulkDeleteLocationResult, BulkDeleteLocationsRequest, Business, BusinessHours, BusinessType, BusinessTypeWithLiterals, CalendarMonth, Category, CategoryMetadata, CategoryRegion, CategoryView, CategoryViewWithLiterals, CommonQueryWithEntityContext, CompleteVerificationRequest, Connectivity, CreateGoogleLocationRequest, CreateLocationRequest, CreateLocationResponse, CreateMediaRequest, CursorPaging, CursorPagingMetadata, CursorQuery, CursorQueryPagingMethodOneOf, Cursors, DailyMetric, DailyMetricValue, DailyMetricWithLiterals, DayOfWeek, DayOfWeekWithLiterals, DeleteGoogleLocationRequest, DeleteGoogleLocationResponse, DeleteLocationRequest, DeleteLocationResponse, DeleteMediaRequest, DeleteMediaResponse, DeleteReviewReplyRequest, DeleteReviewReplyResponse, DomainEvent, DomainEventBodyOneOf, EcoCertificate, EcoCertificateWithLiterals, EcoCertification, Empty, EnergyEfficiency, EnhancedCleaning, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, EstablishmentSuggestion, Families, FieldViolation, FoodAndDrink, GBPLocationQuerySpec, GbpAccount, GetAddressSchemaByCountryCodeRequest, GetGBPLocationRequest, GetGBPLocationResponse, GetGoogleLocationRequest, GetLocationAdminsRequest, GetLocationAttributesRequest, GetLocationInsightsRequest, GetLocationLodgingRequest, GetVerificationOptionsRequest, GetVoiceOfMerchantRequest, GoogleApiCallFailedError, GoogleLocationMatch, GoogleLocationValidationError, GuestUnitFeatures, GuestUnitType, HealthAndSafety, Housekeeping, IdentificationData, IdentificationDataIdOneOf, IncreasedFoodSafety, InsightsMetric, InvalidUpdateMaskError, InvalidValueJsonError, InviteAdminToLocationRequest, ItemMetadata, LanguageSpoken, LatLng, LeedCertification, LeedCertificationWithLiterals, ListAttributeMetadataOptionsLookupOneOf, ListAttributeMetadataRequest, ListAttributeMetadataRequestLookupOneOf, ListCategoriesRequest, ListGbpAccountsRequest, ListMediaRequest, ListReviewsRequest, ListSearchKeywordImpressionsRequest, ListUnimportedLocationsRequest, LivingArea, LivingAreaAccessibility, LivingAreaEating, LivingAreaFeatures, LivingAreaLayout, LivingAreaSleeping, LocationAdmin, LocationDbPersistFailedError, LocationNotDeletableViaApiError, LocationWithGoogle, LocationWithGoogleGoogleResultOneOf, LocationWithGoogleVoiceOfMerchantResultOneOf, LocationsQueryResult, LodgingMetadata, LodgingTimeOfDay, MatchStatus, MatchStatusWithLiterals, MediaCategory, MediaCategoryWithLiterals, MediaFormat, MediaFormatWithLiterals, MediaItem, MediaItemAttribution, MessageEnvelope, Metadata, MinimizedContact, MoreHoursType, OpenInfo, Parking, PaymentOptions, PersonalProtection, Pets, PhysicalDistancing, PlaceInfo, Policies, Pools, PostalAddress, Profile, Property, PutReviewReplyRequest, QueryGBPLocationsRequest, QueryGBPLocationsResponse, QueryGoogleLocationsRequest, RecommendationReason, RecommendationReasonWithLiterals, RegionSuggestion, RestoreInfo, Review, ReviewMetrics, ReviewReply, ReviewSortOrder, ReviewSortOrderWithLiterals, Role, RoleWithLiterals, SearchGoogleLocationsOptionsCriteriaOneOf, SearchGoogleLocationsRequest, SearchGoogleLocationsRequestCriteriaOneOf, SearchKeywordImpression, SearchKeywordImpressionImpressionsOneOf, ServiceArea, ServiceType, Services, SortOrder, SortOrderWithLiterals, Sorting, StartVerificationRequest, State, StateWithLiterals, Status, StatusWithLiterals, SuggestEstablishmentsRequest, SuggestRegionsRequest, Sustainability, SustainabilityCertifications, SustainableSourcing, TimeOfDay, Transportation, UnimportedLocation, UnitTier, UnitTierWithLiterals, UpdateGoogleLocationRequest, UpdateLocationAttributesRequest, UpdateLocationFoodMenusApplicationErrors, UpdateLocationFoodMenusOptions, UpdateLocationFoodMenusRequest, UpdateLocationFoodMenusResponse, UpdateLocationLodgingRequest, UpdateLocationRequest, UpdateLocationResponse, VerificationMethod, VerificationOption, VerificationState, VerificationStateWithLiterals, ViewsFromUnit, Violation, VoiceOfMerchantState, WasteReduction, WaterConservation, WebhookIdentityType, WebhookIdentityTypeWithLiterals, Wellness, utils } from './index.typings.js';
4
+
5
+ declare function getGbpLocation$1(httpClient: HttpClient): GetGbpLocationSignature;
6
+ interface GetGbpLocationSignature {
7
+ /**
8
+ * Retrieves a GBP location as it's stored for the site.
9
+ *
10
+ * This doesn't call Google, so it's the cheapest way to check whether a
11
+ * location is recorded and to read its `accountId` or
12
+ * `serviceAreaPostalAddress`. To get the live Google profile as well, call
13
+ * Get Google Location.
14
+ * @param - ID of the location to retrieve. This is Google's location identifier.
15
+ * @returns The retrieved location.
16
+ */
17
+ (locationId: string): Promise<NonNullablePaths<GBPLocation, `_id` | `accountId` | `serviceAreaPostalAddress.countryCode` | `serviceAreaPostalAddress.postalCode` | `serviceAreaPostalAddress.administrativeArea` | `serviceAreaPostalAddress.locality` | `serviceAreaPostalAddress.addressLines` | `revision` | `googleLocationId`, 3>>;
18
+ }
19
+ declare function queryGoogleLocations$1(httpClient: HttpClient): QueryGoogleLocationsSignature;
20
+ interface QueryGoogleLocationsSignature {
21
+ /**
22
+ * Retrieves a list of up to 100 GBP locations with their current Google data,
23
+ * given the provided paging, filtering, and sorting.
24
+ *
25
+ * Takes the same filters as Query GBP Locations, and additionally retrieves each
26
+ * location's live profile data from Google: title, address, opening hours and so
27
+ * on. Use it when you need both the stored identifiers and the current profile
28
+ * in one call.
29
+ *
30
+ * A location whose Google data can't be retrieved is still returned, with the
31
+ * reason in that location's `googleError`. The call as a whole succeeds and
32
+ * paging is unaffected, so check `googleError` per location rather than relying
33
+ * on the response status.
34
+ *
35
+ * Supported properties for filtering and sorting: `id`, `googleLocationId`,
36
+ * `accountId`.
37
+ *
38
+ * To learn about working with Query methods, see
39
+ * [API Query Language](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-the-wix-api-query-language),
40
+ * [Sorting and Paging](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-sorting-and-paging),
41
+ * and [Field Projection](https://dev.wix.com/docs/api-reference/articles/work-with-wix-apis/data-retrieval/about-field-projection).
42
+ */
43
+ (options?: QueryGoogleLocationsOptions): Promise<NonNullablePaths<QueryGoogleLocationsResponse, `locations` | `locations.${number}.googleLocation.name` | `locations.${number}.googleLocation.title` | `locations.${number}.googleLocation.languageCode` | `locations.${number}.googleLocation.primaryCategory._id` | `locations.${number}.googleLocation.primaryCategory.displayName` | `locations.${number}.googleLocation.profile.description` | `locations.${number}.googleLocation.storefrontAddress.countryCode` | `locations.${number}.googleLocation.storefrontAddress.postalCode` | `locations.${number}.googleLocation.storefrontAddress.administrativeArea` | `locations.${number}.googleLocation.storefrontAddress.locality` | `locations.${number}.googleLocation.serviceArea.businessType` | `locations.${number}.googleLocation.serviceArea.regionCode` | `locations.${number}.googleLocation.primaryPhone` | `locations.${number}.googleLocation.storeCode` | `locations.${number}.googleLocation.latLng.latitude` | `locations.${number}.googleLocation.latLng.longitude` | `locations.${number}.googleLocation.openInfo.status` | `locations.${number}.googleLocation.openInfo.canReopen` | `locations.${number}.googleLocation.metadata.canOperateLodgingData` | `locations.${number}.googleError.code` | `locations.${number}.googleError.description` | `locations.${number}.voiceOfMerchant.hasVoiceOfMerchant` | `locations.${number}.voiceOfMerchant.hasBusinessAuthority` | `locations.${number}.voiceOfMerchant.state` | `locations.${number}.voiceOfMerchant.recommendationReason` | `locations.${number}.voiceOfMerchant.hasPendingVerification` | `locations.${number}.location._id` | `locations.${number}.location.accountId` | `locations.${number}.location.revision` | `locations.${number}.location.googleLocationId`, 6>>;
44
+ }
45
+ declare function getGoogleLocation$1(httpClient: HttpClient): GetGoogleLocationSignature;
46
+ interface GetGoogleLocationSignature {
47
+ /**
48
+ * Retrieves a GBP location with its current Google data.
49
+ *
50
+ * The single-location counterpart of Query Google Locations, with the same
51
+ * behavior: if the profile data can't be retrieved from Google, the location is
52
+ * still returned and the reason is in `googleError`.
53
+ *
54
+ * If the location isn't found, the call fails and Google isn't contacted.
55
+ * @param - ID of the location to retrieve. This is Google's location identifier.
56
+ */
57
+ (locationId: string): Promise<NonNullablePaths<GetGoogleLocationResponse, `location.googleLocation.name` | `location.googleLocation.title` | `location.googleLocation.languageCode` | `location.googleLocation.primaryCategory._id` | `location.googleLocation.primaryCategory.displayName` | `location.googleLocation.additionalCategories` | `location.googleLocation.profile.description` | `location.googleLocation.storefrontAddress.countryCode` | `location.googleLocation.storefrontAddress.postalCode` | `location.googleLocation.storefrontAddress.administrativeArea` | `location.googleLocation.storefrontAddress.locality` | `location.googleLocation.storefrontAddress.addressLines` | `location.googleLocation.serviceArea.businessType` | `location.googleLocation.serviceArea.places` | `location.googleLocation.serviceArea.places.${number}.placeName` | `location.googleLocation.serviceArea.places.${number}.placeId` | `location.googleLocation.serviceArea.regionCode` | `location.googleLocation.primaryPhone` | `location.googleLocation.additionalPhones` | `location.googleLocation.storeCode` | `location.googleLocation.regularHours` | `location.googleLocation.regularHours.${number}.openDay` | `location.googleLocation.regularHours.${number}.openTime.hours` | `location.googleLocation.regularHours.${number}.openTime.minutes` | `location.googleLocation.regularHours.${number}.closeDay` | `location.googleLocation.latLng.latitude` | `location.googleLocation.latLng.longitude` | `location.googleLocation.openInfo.status` | `location.googleLocation.openInfo.canReopen` | `location.googleLocation.metadata.canOperateLodgingData` | `location.googleError.code` | `location.googleError.description` | `location.voiceOfMerchant.hasVoiceOfMerchant` | `location.voiceOfMerchant.hasBusinessAuthority` | `location.voiceOfMerchant.state` | `location.voiceOfMerchant.recommendationReason` | `location.voiceOfMerchant.hasPendingVerification` | `location.location._id` | `location.location.accountId` | `location.location.revision` | `location.location.googleLocationId`, 7>>;
58
+ }
59
+ declare function createLocation$1(httpClient: HttpClient): CreateLocationSignature;
60
+ interface CreateLocationSignature {
61
+ /**
62
+ * Imports an existing Google Business Profile location.
63
+ *
64
+ * Specify the Google account ID in `accountId` and the Google location ID in
65
+ * `location.id`. Both are available from List Unimported Locations.
66
+ *
67
+ * This doesn't create a listing in Google. It records a location the Google
68
+ * account already has, so that the site can manage it. To create a new listing,
69
+ * call Create Google Location.
70
+ *
71
+ * A Google account must be connected first, or the call fails with
72
+ * `CONNECTION_NOT_FOUND`. See the
73
+ * [Connection API](https://dev.wix.com/docs/api-reference/business-management/google-business-profile/connection-v1).
74
+ * @param - The location to record for this site.
75
+ *
76
+ * `id` is required and must be Google's location ID. `accountId` is required
77
+ * too, because it identifies which Google account holds the listing.
78
+ * @returns The created location.
79
+ */
80
+ (location: NonNullablePaths<GBPLocation, `_id` | `accountId`, 2>): Promise<NonNullablePaths<GBPLocation, `_id` | `accountId` | `serviceAreaPostalAddress.countryCode` | `serviceAreaPostalAddress.postalCode` | `serviceAreaPostalAddress.administrativeArea` | `serviceAreaPostalAddress.locality` | `serviceAreaPostalAddress.addressLines` | `revision` | `googleLocationId`, 3> & {
81
+ __applicationErrorsType?: CreateLocationApplicationErrors;
82
+ }>;
83
+ }
84
+ declare function updateLocation$1(httpClient: HttpClient): UpdateLocationSignature;
85
+ interface UpdateLocationSignature {
86
+ /**
87
+ * Updates a GBP location's stored fields.
88
+ *
89
+ * This doesn't change anything on the Google Business Profile. Only fields the
90
+ * GBP location itself stores can be updated: `serviceAreaPostalAddress`, and
91
+ * `feedEntityId` if it doesn't have a value yet. Naming a Google-owned field in
92
+ * `fieldMask` has no effect. To change the profile in Google, call Update Google
93
+ * Location.
94
+ *
95
+ * List the fields to change in `fieldMask`.
96
+ * @param - Google's opaque location identifier on the public API.
97
+ * @returns The updated location.
98
+ */
99
+ (_id: string, location: UpdateLocation): Promise<NonNullablePaths<GBPLocation, `_id` | `accountId` | `serviceAreaPostalAddress.countryCode` | `serviceAreaPostalAddress.postalCode` | `serviceAreaPostalAddress.administrativeArea` | `serviceAreaPostalAddress.locality` | `serviceAreaPostalAddress.addressLines` | `revision` | `googleLocationId`, 3>>;
100
+ }
101
+ declare function deleteLocation$1(httpClient: HttpClient): DeleteLocationSignature;
102
+ interface DeleteLocationSignature {
103
+ /**
104
+ * Deletes a GBP location, leaving the Google Business Profile listing in place.
105
+ *
106
+ * This is the recovery path, for when the listing is already gone from Google, or
107
+ * is unreachable, and the stored location needs cleaning up. For the usual
108
+ * delete, which removes the listing from Google too, call Delete Google Location.
109
+ * @param - ID of the location to delete. This is Google's location identifier.
110
+ */
111
+ (locationId: string): Promise<void>;
112
+ }
113
+ declare function createGoogleLocation$1(httpClient: HttpClient): CreateGoogleLocationSignature;
114
+ interface CreateGoogleLocationSignature {
115
+ /**
116
+ * Creates a Business Profile listing in Google and records it for the site.
117
+ *
118
+ * Use this to add a location the Google account doesn't have yet. To record a
119
+ * listing that already exists, call Create Location instead.
120
+ *
121
+ * Specify at least one of `storefrontAddress` or `serviceArea`. If neither is set,
122
+ * the call fails with `INVALID_LOCATION_PAYLOAD`.
123
+ *
124
+ * Both can be set together when `serviceArea.businessType` is
125
+ * `CUSTOMER_AND_BUSINESS_LOCATION`, which is how a business that has premises and
126
+ * also travels to customers is represented.
127
+ *
128
+ * A Google account must be connected first. See the
129
+ * [Connection API](https://dev.wix.com/docs/api-reference/business-management/google-business-profile/connection-v1).
130
+ *
131
+ * Set `validateOnly` to check the details without creating anything: Google
132
+ * runs the same validation and returns the same errors, but no listing is
133
+ * created and none is recorded for the site. On success the response has no
134
+ * `location` — that absence is what "valid" looks like.
135
+ *
136
+ * Errors:
137
+ * - `CONNECTION_NOT_FOUND`: no Google account is connected. Google isn't called.
138
+ * - `TOKEN_RESOLUTION_FAILED`: the stored credentials couldn't be used. Google
139
+ * isn't called and nothing is created.
140
+ * - `GOOGLE_LOCATION_VALIDATION_FAILED`: Google rejected the details, for
141
+ * example an invalid phone number or address, or a listing that needs a
142
+ * postcard PIN. The specific reasons are in the error payload, and they're
143
+ * worth surfacing: they tell the site owner what to correct. Nothing is
144
+ * created.
145
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed for any other reason.
146
+ * Google's status and response are in the error payload. Nothing is created.
147
+ * - `LOCATION_DB_PERSIST_FAILED`: Google created the listing but it couldn't be
148
+ * recorded for the site. The new Google location ID is in the error payload,
149
+ * so keep it: the listing exists in Google and can be recorded with Create
150
+ * Location, or removed with Delete Google Location.
151
+ * @param - GBP account id (numeric, no "accounts/" prefix). The server forms the
152
+ * Google resource name as "accounts/{account_id}".
153
+ */
154
+ (accountId: string, options?: NonNullablePaths<CreateGoogleLocationOptions, `location` | `location.languageCode` | `location.primaryCategory` | `location.primaryCategory._id` | `location.title`, 4>): Promise<NonNullablePaths<CreateGoogleLocationResponse, `location._id` | `location.accountId` | `location.serviceAreaPostalAddress.countryCode` | `location.serviceAreaPostalAddress.postalCode` | `location.serviceAreaPostalAddress.administrativeArea` | `location.serviceAreaPostalAddress.locality` | `location.serviceAreaPostalAddress.addressLines` | `location.revision` | `location.googleLocationId`, 4> & {
155
+ __applicationErrorsType?: CreateGoogleLocationApplicationErrors;
156
+ }>;
157
+ }
158
+ declare function deleteGoogleLocation$1(httpClient: HttpClient): DeleteGoogleLocationSignature;
159
+ interface DeleteGoogleLocationSignature {
160
+ /**
161
+ * Deletes a Business Profile listing from Google and removes it from the site.
162
+ *
163
+ * This is the usual way to delete a location. To remove a location from the site
164
+ * while leaving the Google listing alone, call Delete Location.
165
+ *
166
+ * Google refuses to delete some listings through its API, including verified or
167
+ * claimed listings, chain-managed locations, and suspended ones. Those have to be
168
+ * removed by the site owner at business.google.com.
169
+ *
170
+ * Errors:
171
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
172
+ * - `LOCATION_NOT_DELETABLE_VIA_API`: Google won't allow the delete, for one of
173
+ * the reasons above. The location is left in place. Note this is checked before
174
+ * the delete, and Google's answer can change in between, so a delete can still
175
+ * fail after the check passed.
176
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. The location is left in
177
+ * place so the call can be retried. If Google keeps refusing, remove the
178
+ * listing at business.google.com and then call Delete Location.
179
+ * - `LOCATION_DB_PERSIST_FAILED`: Google deleted the listing but the site's copy
180
+ * couldn't be removed. Call Delete Location to finish the job.
181
+ * @param - ID of the location to delete. This is Google's location identifier.
182
+ */
183
+ (locationId: string): Promise<void & {
184
+ __applicationErrorsType?: DeleteGoogleLocationApplicationErrors;
185
+ }>;
186
+ }
187
+ declare function updateGoogleLocation$1(httpClient: HttpClient): UpdateGoogleLocationSignature;
188
+ interface UpdateGoogleLocationSignature {
189
+ /**
190
+ * Updates a location's Business Profile in Google.
191
+ *
192
+ * This changes the profile the public sees on Google. It doesn't change the
193
+ * location stored for the site: to update `serviceAreaPostalAddress`, call Update
194
+ * Location.
195
+ *
196
+ * `fieldMask` is required, and only these top-level fields can be updated:
197
+ * `title`, `storeCode`, `primaryPhone`, `additionalPhones`, `primaryCategory`,
198
+ * `additionalCategories`, `storefrontAddress`, `websiteUri`, `regularHours`,
199
+ * `serviceArea`, `latLng`, `openInfo`, `profile`.
200
+ *
201
+ * Anything else, including a nested path such as `profile.description` or an
202
+ * empty mask, fails with `INVALID_UPDATE_MASK` before Google is called.
203
+ * `languageCode` can't be updated: Google treats it as read-only.
204
+ *
205
+ * ## Categories and phone numbers replace the whole set
206
+ *
207
+ * Google doesn't allow categories or phone numbers to be updated one at a time,
208
+ * so each pair behaves as a single value and Google replaces everything in it.
209
+ * Read this before updating either, because omitting a value deletes it.
210
+ *
211
+ * For categories:
212
+ *
213
+ * - Specify `primaryCategory` and `additionalCategories` together in `fieldMask`.
214
+ * A mask with only one of them fails with `INVALID_UPDATE_MASK`.
215
+ * - Specify the complete set you want the location to end up with, including a
216
+ * primary category. A set without one fails with `INVALID_CATEGORIES`.
217
+ * - Any additional category you leave out is removed, so resend the ones you want
218
+ * to keep.
219
+ *
220
+ * For phone numbers:
221
+ *
222
+ * - Specify `primaryPhone` and `additionalPhones` together in `fieldMask`. A mask
223
+ * with only one of them fails with `INVALID_UPDATE_MASK`.
224
+ * - Specify the complete set of numbers you want the location to end up with. Any
225
+ * number you leave out is removed.
226
+ * - Unlike categories, no primary is required. Masking both and specifying none
227
+ * removes every phone number.
228
+ *
229
+ * ## Errors
230
+ *
231
+ * - `INVALID_UPDATE_MASK`: the mask is empty, or names a field that can't be
232
+ * updated, or masks only one half of the categories or phone numbers pair.
233
+ * Google isn't called.
234
+ * - `GOOGLE_LOCATION_VALIDATION_FAILED`: Google rejected the details, for example
235
+ * an invalid phone number or address, or a listing that needs a postcard PIN.
236
+ * The specific reasons are in the error payload and are worth surfacing: they
237
+ * tell the site owner what to correct.
238
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed for any other reason.
239
+ * Google's status and response are in the error payload.
240
+ * @param - ID of the location to update. This is Google's location identifier, without
241
+ * the `locations/` prefix.
242
+ * @param - The profile values to set. Only the fields named in `fieldMask` are sent to
243
+ * Google, so this can be partial.
244
+ */
245
+ (locationId: string, location: GoogleLocation, options: NonNullablePaths<UpdateGoogleLocationOptions, `fieldMask`, 2>): Promise<NonNullablePaths<UpdateGoogleLocationResponse, `location.name` | `location.title` | `location.languageCode` | `location.primaryCategory._id` | `location.primaryCategory.displayName` | `location.additionalCategories` | `location.profile.description` | `location.storefrontAddress.countryCode` | `location.storefrontAddress.postalCode` | `location.storefrontAddress.administrativeArea` | `location.storefrontAddress.locality` | `location.storefrontAddress.addressLines` | `location.serviceArea.businessType` | `location.serviceArea.places` | `location.serviceArea.places.${number}.placeName` | `location.serviceArea.places.${number}.placeId` | `location.serviceArea.regionCode` | `location.primaryPhone` | `location.additionalPhones` | `location.storeCode` | `location.regularHours` | `location.regularHours.${number}.openDay` | `location.regularHours.${number}.openTime.hours` | `location.regularHours.${number}.openTime.minutes` | `location.regularHours.${number}.closeDay` | `location.latLng.latitude` | `location.latLng.longitude` | `location.openInfo.status` | `location.openInfo.canReopen` | `location.metadata.canOperateLodgingData`, 6> & {
246
+ __applicationErrorsType?: UpdateGoogleLocationApplicationErrors;
247
+ }>;
248
+ }
249
+ declare function bulkCreateLocations$1(httpClient: HttpClient): BulkCreateLocationsSignature;
250
+ interface BulkCreateLocationsSignature {
251
+ /**
252
+ * Imports multiple existing Google Business Profile locations.
253
+ *
254
+ * Specify `id` and `accountId` on every location. This doesn't create listings in
255
+ * Google, the same as Create Location.
256
+ *
257
+ * Locations are processed independently: one that fails doesn't stop the others,
258
+ * and its reason is in that item's `itemMetadata.error`. Check the results
259
+ * per item rather than relying on the response status.
260
+ *
261
+ * A Google account must be connected first. See the
262
+ * [Connection API](https://dev.wix.com/docs/api-reference/business-management/google-business-profile/connection-v1).
263
+ *
264
+ * To import a single location, call Create Location.
265
+ * @param - The locations to record for this site. Set `id` and `accountId` on each.
266
+ */
267
+ (locations: GBPLocation[], options?: BulkCreateLocationsOptions): Promise<NonNullablePaths<BulkCreateLocationsResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `results.${number}.item._id` | `results.${number}.item.accountId` | `results.${number}.item.serviceAreaPostalAddress.countryCode` | `results.${number}.item.serviceAreaPostalAddress.postalCode` | `results.${number}.item.serviceAreaPostalAddress.administrativeArea` | `results.${number}.item.serviceAreaPostalAddress.locality` | `results.${number}.item.revision` | `results.${number}.item.googleLocationId` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6> & {
268
+ __applicationErrorsType?: BulkCreateLocationsApplicationErrors;
269
+ }>;
270
+ }
271
+ declare function bulkDeleteLocations$1(httpClient: HttpClient): BulkDeleteLocationsSignature;
272
+ interface BulkDeleteLocationsSignature {
273
+ /**
274
+ * Deletes multiple GBP locations, leaving their Google Business Profile
275
+ * listings in place.
276
+ *
277
+ * The bulk counterpart of Delete Location, and the same recovery path: use it
278
+ * to clean up stored locations whose listings are already gone from Google or
279
+ * unreachable. To remove the listings from Google too, call Delete Google
280
+ * Location once per location.
281
+ *
282
+ * Locations are processed independently, so one that fails doesn't stop the
283
+ * others. Check the results per location rather than relying on the response
284
+ * status.
285
+ * @param - IDs of the locations to delete. These are Google's location identifiers.
286
+ */
287
+ (locationIds: string[]): Promise<NonNullablePaths<BulkDeleteLocationsResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 6>>;
288
+ }
289
+ declare function listGbpAccounts$1(httpClient: HttpClient): ListGbpAccountsSignature;
290
+ interface ListGbpAccountsSignature {
291
+ /**
292
+ * Retrieves the Google Business Profile accounts the connected Google account
293
+ * can access.
294
+ *
295
+ * A Google account can have access to more than one Business Profile account,
296
+ * each holding its own locations. Use this to find the account ID to specify when
297
+ * importing locations.
298
+ *
299
+ * A Google account must be connected first. See the
300
+ * [Connection API](https://dev.wix.com/docs/api-reference/business-management/google-business-profile/connection-v1).
301
+ */
302
+ (options?: ListGbpAccountsOptions): Promise<NonNullablePaths<ListGbpAccountsResponse, `accounts` | `accounts.${number}.accountId` | `accounts.${number}.displayName` | `accounts.${number}.accountType`, 4> & {
303
+ __applicationErrorsType?: ListGbpAccountsApplicationErrors;
304
+ }>;
305
+ }
306
+ declare function listUnimportedLocations$1(httpClient: HttpClient): ListUnimportedLocationsSignature;
307
+ interface ListUnimportedLocationsSignature {
308
+ /**
309
+ * Retrieves the locations in a Google Business Profile account that the site
310
+ * hasn't imported yet.
311
+ *
312
+ * Call this before Create Location or Bulk Create Locations to find what's
313
+ * available to import. Locations are returned in the order Google returns them.
314
+ *
315
+ * A Google account must be connected first. See the
316
+ * [Connection API](https://dev.wix.com/docs/api-reference/business-management/google-business-profile/connection-v1).
317
+ * @param - GBP Account ID to list locations for.
318
+ */
319
+ (accountId: string, options?: ListUnimportedLocationsOptions): Promise<NonNullablePaths<ListUnimportedLocationsResponse, `locations` | `locations.${number}.googleLocationId` | `locations.${number}.title` | `locations.${number}.storefrontAddress.countryCode` | `locations.${number}.storefrontAddress.postalCode` | `locations.${number}.storefrontAddress.administrativeArea` | `locations.${number}.storefrontAddress.locality` | `locations.${number}.serviceArea.businessType` | `locations.${number}.serviceArea.regionCode`, 5> & {
320
+ __applicationErrorsType?: ListUnimportedLocationsApplicationErrors;
321
+ }>;
322
+ }
323
+ declare function listReviews$1(httpClient: HttpClient): ListReviewsSignature;
324
+ interface ListReviewsSignature {
325
+ /**
326
+ * Retrieves a list of up to 100 reviews for a location, given the provided
327
+ * paging and sorting.
328
+ *
329
+ * Reviews belong to Google and can't be created or edited here. You can reply
330
+ * to one with Put Review Reply.
331
+ *
332
+ * Sort with `orderBy`: `NEWEST`, `HIGHEST_RATING` or `LOWEST_RATING`.
333
+ *
334
+ * `metrics` carries the location's average rating and total review count.
335
+ * Those cover every review on the profile, not just the current page.
336
+ * @param - Location ID. This is Google's location identifier.
337
+ */
338
+ (locationId: string, options?: ListReviewsOptions): Promise<NonNullablePaths<ListReviewsResponse, `reviews` | `reviews.${number}.reviewId` | `reviews.${number}.starRating` | `reviews.${number}.comment` | `reviews.${number}.createTime` | `reviews.${number}.reviewerDisplayName` | `reviews.${number}.anonymousReviewer` | `reviews.${number}.reply.text` | `reviews.${number}.reply.updateTime` | `metrics.averageRating` | `metrics.totalReviewCount`, 5> & {
339
+ __applicationErrorsType?: ListReviewsApplicationErrors;
340
+ }>;
341
+ }
342
+ declare function putReviewReply$1(httpClient: HttpClient): PutReviewReplySignature;
343
+ interface PutReviewReplySignature {
344
+ /**
345
+ * Creates or replaces the site owner's public reply to a review.
346
+ *
347
+ * A review has at most one reply, so calling this again replaces the existing
348
+ * text rather than adding a second one. The reply shows publicly on Google
349
+ * next to the review, attributed to the business.
350
+ * @param - Reply text to post or replace.
351
+ */
352
+ (identifiers: NonNullablePaths<PutReviewReplyIdentifiers, `locationId` | `reviewId`, 2>, text: string): Promise<NonNullablePaths<PutReviewReplyResponse, `reply.text` | `reply.updateTime`, 3> & {
353
+ __applicationErrorsType?: PutReviewReplyApplicationErrors;
354
+ }>;
355
+ }
356
+ declare function deleteReviewReply$1(httpClient: HttpClient): DeleteReviewReplySignature;
357
+ interface DeleteReviewReplySignature {
358
+ /**
359
+ * Deletes the site owner's reply to a review.
360
+ *
361
+ * The review itself isn't affected. Reviews belong to Google and can't be
362
+ * deleted through this API.
363
+ */
364
+ (identifiers: NonNullablePaths<DeleteReviewReplyIdentifiers, `locationId` | `reviewId`, 2>): Promise<void & {
365
+ __applicationErrorsType?: DeleteReviewReplyApplicationErrors;
366
+ }>;
367
+ }
368
+ declare function listMedia$1(httpClient: HttpClient): ListMediaSignature;
369
+ interface ListMediaSignature {
370
+ /**
371
+ * Retrieves a location's media items from Google.
372
+ *
373
+ * Each item includes the media key you need to delete it. Media isn't stored for
374
+ * the site, so this always reflects what's on the Business Profile now.
375
+ *
376
+ * That means it lags behind anything still queued through Bulk Create Media
377
+ * Uploads. If a submission is still being applied, combine this with List Media
378
+ * Uploads to show what the site owner asked for. Count only changes still on
379
+ * their way, since a failed addition never reached Google:
380
+ *
381
+ * ```
382
+ * gallery = this list
383
+ * + additions still PENDING or UPLOADING
384
+ * - removals still PENDING or UPLOADING
385
+ * ```
386
+ *
387
+ * Errors:
388
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
389
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. Google's status and
390
+ * response are in the error payload.
391
+ * @param - Location ID. This is Google's location identifier.
392
+ */
393
+ (locationId: string, options?: ListMediaOptions): Promise<NonNullablePaths<ListMediaResponse, `mediaItems` | `mediaItems.${number}.mediaKey` | `mediaItems.${number}.format` | `mediaItems.${number}.googleUrl` | `mediaItems.${number}.category` | `mediaItems.${number}.thumbnailUrl` | `mediaItems.${number}.description` | `mediaItems.${number}.sourceUrl` | `mediaItems.${number}.attribution.profileName` | `mediaItems.${number}.attribution.profilePhotoUrl` | `mediaItems.${number}.attribution.takedownUrl` | `mediaItems.${number}.attribution.profileUrl`, 5> & {
394
+ __applicationErrorsType?: ListMediaApplicationErrors;
395
+ }>;
396
+ }
397
+ declare function createMedia$1(httpClient: HttpClient): CreateMediaSignature;
398
+ interface CreateMediaSignature {
399
+ /**
400
+ * Adds a media item to a location.
401
+ *
402
+ * Specify `sourceUrl`, a publicly reachable URL that Google fetches the image
403
+ * from. The URL has to stay reachable until Google has fetched it. Returns the
404
+ * created item, including the media key needed to delete it.
405
+ *
406
+ * Two things to plan for:
407
+ *
408
+ * - Google doesn't deduplicate by URL. Calling this twice with the same
409
+ * `sourceUrl` creates two media items, so track what you've already added.
410
+ * - Google allows about 10 edits per minute per Business Profile, and that budget
411
+ * covers every write to the profile: adding and deleting media, but also Update
412
+ * Google Location and Update Location Attributes. Interleaving those with media
413
+ * writes brings the 429 closer, so pace the profile as a whole rather than each
414
+ * method separately. Treat a 429 as worth retrying after a delay rather than as
415
+ * a rejection of the image.
416
+ *
417
+ * This method doesn't pace itself, so use it for single changes. To add several
418
+ * photos at once, call Bulk Create Media Uploads instead. That queues the whole
419
+ * set and applies it to Google gradually, which is what the per-minute budget
420
+ * makes necessary.
421
+ *
422
+ * Errors:
423
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
424
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. Google's status and
425
+ * response are in the error payload.
426
+ * @param - Location ID. This is Google's location identifier.
427
+ * @param - Publicly accessible URL of the media file to add. Google fetches the bytes
428
+ * from this URL server-side, so it must be reachable without auth.
429
+ */
430
+ (locationId: string, sourceUrl: string, options: NonNullablePaths<CreateMediaOptions, `category` | `format`, 2>): Promise<NonNullablePaths<CreateMediaResponse, `mediaItem.mediaKey` | `mediaItem.format` | `mediaItem.googleUrl` | `mediaItem.category` | `mediaItem.thumbnailUrl` | `mediaItem.description` | `mediaItem.sourceUrl` | `mediaItem.attribution.profileName` | `mediaItem.attribution.profilePhotoUrl` | `mediaItem.attribution.takedownUrl` | `mediaItem.attribution.profileUrl`, 4> & {
431
+ __applicationErrorsType?: CreateMediaApplicationErrors;
432
+ }>;
433
+ }
434
+ declare function deleteMedia$1(httpClient: HttpClient): DeleteMediaSignature;
435
+ interface DeleteMediaSignature {
436
+ /**
437
+ * Deletes a media item from a location.
438
+ *
439
+ * Specify the media key from List Media. Deleting an item that's already gone
440
+ * succeeds, so it's safe to retry.
441
+ *
442
+ * Deletions draw on the same budget of about 10 edits per minute per Business
443
+ * Profile as every other write to it, including Create Media, Update Google
444
+ * Location and Update Location Attributes. Removing a set of images in quick
445
+ * succession returns 429, so pace the profile as a whole.
446
+ *
447
+ * To remove several photos at once, call Bulk Create Media Uploads with removal
448
+ * items instead. That queues them and applies them gradually.
449
+ *
450
+ * Errors:
451
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
452
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. Google's status and
453
+ * response are in the error payload.
454
+ *
455
+ * A malformed media key, or one belonging to a different location, also comes
456
+ * back as `GOOGLE_API_CALL_FAILED` rather than `NOT_FOUND`.
457
+ */
458
+ (identifiers: NonNullablePaths<DeleteMediaIdentifiers, `locationId` | `mediaKey`, 2>): Promise<void & {
459
+ __applicationErrorsType?: DeleteMediaApplicationErrors;
460
+ }>;
461
+ }
462
+ declare function updateLocationAttributes$1(httpClient: HttpClient): UpdateLocationAttributesSignature;
463
+ interface UpdateLocationAttributesSignature {
464
+ /**
465
+ * Sets or deletes attributes on a location's Business Profile.
466
+ *
467
+ * Only the attributes you specify are affected. Attributes you don't mention are
468
+ * left as they are, so you don't need to resend the whole set.
469
+ *
470
+ * Whether an attribute is set or deleted depends on `valueJson`:
471
+ *
472
+ * - Specify `valueJson` to set the attribute to that value. It takes Google's
473
+ * attribute value JSON, for example `{"valueType":"BOOL","values":[true]}` or
474
+ * `{"valueType":"URL","uriValues":[{"uri":"https://example.com"}]}`. Use the
475
+ * bare attribute key in `attributeId`, such as `has_wifi`.
476
+ * - Leave `valueJson` empty to delete the attribute.
477
+ *
478
+ * There's no flag for clearing everything: to delete several attributes, send one
479
+ * entry per attribute with `valueJson` empty. To delete all of them, first
480
+ * retrieve the location's attributes with Get Location Attributes, then send one
481
+ * empty entry per attribute you get back. At least one entry is always required,
482
+ * and a request carries at most 50, so a location with more than 50 attributes
483
+ * needs more than one call.
484
+ *
485
+ * Call List Attribute Metadata to find which attributes a location supports and
486
+ * what value type each one takes.
487
+ *
488
+ * Errors:
489
+ * - `INVALID_VALUE_JSON`: a `valueJson` isn't valid Google attribute JSON. The
490
+ * response says which entries were wrong, by index and attribute ID. This is
491
+ * checked before anything else, so nothing is changed.
492
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
493
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. Google's status and
494
+ * response are in the error payload.
495
+ * @param - Location ID. This is Google's location identifier.
496
+ * @param - The attributes to set or delete, keyed by `attributeId`.
497
+ *
498
+ * Only the attributes you name are touched. Every other attribute on the
499
+ * listing is left alone. An entry with a `valueJson` sets that attribute, and
500
+ * an entry with an empty `valueJson` deletes it.
501
+ */
502
+ (locationId: string, attributes: LocationAttribute[]): Promise<NonNullablePaths<UpdateLocationAttributesResponse, `attributes` | `attributes.${number}.attributeId` | `attributes.${number}.valueJson`, 4> & {
503
+ __applicationErrorsType?: UpdateLocationAttributesApplicationErrors;
504
+ }>;
505
+ }
506
+ declare function getLocationAttributes$1(httpClient: HttpClient): GetLocationAttributesSignature;
507
+ interface GetLocationAttributesSignature {
508
+ /**
509
+ * Retrieves the attributes currently set on a location's Business Profile.
510
+ *
511
+ * Returns only the attributes that have a value. To find out which attributes the
512
+ * location could have, call List Attribute Metadata. To change them, call Update
513
+ * Location Attributes.
514
+ *
515
+ * Errors:
516
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
517
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. Google's status and
518
+ * response are in the error payload.
519
+ * @param - Location ID. This is Google's location identifier.
520
+ */
521
+ (locationId: string): Promise<NonNullablePaths<GetLocationAttributesResponse, `attributes` | `attributes.${number}.attributeId` | `attributes.${number}.valueJson`, 4> & {
522
+ __applicationErrorsType?: GetLocationAttributesApplicationErrors;
523
+ }>;
524
+ }
525
+ declare function getLocationLodging$1(httpClient: HttpClient): GetLocationLodgingSignature;
526
+ interface GetLocationLodgingSignature {
527
+ /**
528
+ * Retrieves the hotel data on a location's Business Profile: amenities,
529
+ * policies, accessibility, sustainability practices and per-guest-unit detail.
530
+ *
531
+ * Only meaningful for a lodging business. Every field comes back only if the
532
+ * property has an answer on record, so an unset field means "not known", not
533
+ * "not available" — `false` is a distinct, deliberate answer.
534
+ *
535
+ * Errors:
536
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
537
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. Google's status and
538
+ * response are in the error payload.
539
+ * @param - Location ID. This is Google's location identifier.
540
+ */
541
+ (locationId: string): Promise<NonNullablePaths<GetLocationLodgingResponse, `lodging.accessibility.mobilityAccessibleElevatorException` | `lodging.accessibility.mobilityAccessibleException` | `lodging.accessibility.mobilityAccessibleParkingException` | `lodging.accessibility.mobilityAccessiblePoolException` | `lodging.activities.beachAccessException` | `lodging.activities.beachFrontException` | `lodging.activities.bicycleRentalException` | `lodging.activities.boutiqueStoresException` | `lodging.activities.casinoException` | `lodging.activities.freeBicycleRentalException` | `lodging.activities.freeWatercraftRentalException` | `lodging.activities.gameRoomException` | `lodging.activities.golfException` | `lodging.activities.horsebackRidingException` | `lodging.activities.nightclubException` | `lodging.activities.privateBeachException` | `lodging.activities.scubaException` | `lodging.activities.snorkelingException` | `lodging.activities.tennisException` | `lodging.activities.waterSkiingException` | `lodging.activities.watercraftRentalException` | `lodging.allUnits.bungalowOrVillaException` | `lodging.allUnits.connectingUnitAvailableException` | `lodging.allUnits.executiveFloorException` | `lodging.allUnits.maxAdultOccupantsCountException` | `lodging.allUnits.maxChildOccupantsCountException` | `lodging.allUnits.maxOccupantsCountException` | `lodging.allUnits.privateHomeException` | `lodging.allUnits.suiteException` | `lodging.allUnits.tier` | `lodging.allUnits.tierException` | `lodging.allUnits.totalLivingAreas.accessibility.adaCompliantUnitException` | `lodging.allUnits.totalLivingAreas.accessibility.hearingAccessibleDoorbellException` | `lodging.allUnits.totalLivingAreas.accessibility.hearingAccessibleFireAlarmException` | `lodging.allUnits.totalLivingAreas.accessibility.hearingAccessibleUnitException` | `lodging.allUnits.totalLivingAreas.accessibility.mobilityAccessibleBathtubException` | `lodging.allUnits.totalLivingAreas.accessibility.mobilityAccessibleShowerException` | `lodging.allUnits.totalLivingAreas.accessibility.mobilityAccessibleToiletException` | `lodging.allUnits.totalLivingAreas.accessibility.mobilityAccessibleUnitException` | `lodging.allUnits.totalLivingAreas.eating.coffeeMakerException` | `lodging.allUnits.totalLivingAreas.eating.cookwareException` | `lodging.allUnits.totalLivingAreas.eating.dishwasherException` | `lodging.allUnits.totalLivingAreas.eating.indoorGrillException` | `lodging.allUnits.totalLivingAreas.eating.kettleException` | `lodging.allUnits.totalLivingAreas.eating.kitchenAvailableException` | `lodging.allUnits.totalLivingAreas.eating.microwaveException` | `lodging.allUnits.totalLivingAreas.eating.minibarException` | `lodging.allUnits.totalLivingAreas.eating.outdoorGrillException` | `lodging.allUnits.totalLivingAreas.eating.ovenException` | `lodging.allUnits.totalLivingAreas.eating.refrigeratorException` | `lodging.allUnits.totalLivingAreas.eating.sinkException` | `lodging.allUnits.totalLivingAreas.eating.snackbarException` | `lodging.allUnits.totalLivingAreas.eating.stoveException` | `lodging.allUnits.totalLivingAreas.eating.teaStationException` | `lodging.allUnits.totalLivingAreas.eating.toasterException` | `lodging.allUnits.totalLivingAreas.features.airConditioningException` | `lodging.allUnits.totalLivingAreas.features.bathtubException` | `lodging.allUnits.totalLivingAreas.features.bidetException` | `lodging.allUnits.totalLivingAreas.features.dryerException` | `lodging.allUnits.totalLivingAreas.features.electronicRoomKeyException` | `lodging.allUnits.totalLivingAreas.features.fireplaceException` | `lodging.allUnits.totalLivingAreas.features.hairdryerException` | `lodging.allUnits.totalLivingAreas.features.heatingException` | `lodging.allUnits.totalLivingAreas.features.inunitSafeException` | `lodging.allUnits.totalLivingAreas.features.inunitWifiAvailableException` | `lodging.allUnits.totalLivingAreas.features.ironingEquipmentException` | `lodging.allUnits.totalLivingAreas.features.payPerViewMoviesException` | `lodging.allUnits.totalLivingAreas.features.privateBathroomException` | `lodging.allUnits.totalLivingAreas.features.showerException` | `lodging.allUnits.totalLivingAreas.features.toiletException` | `lodging.allUnits.totalLivingAreas.features.tvCastingException` | `lodging.allUnits.totalLivingAreas.features.tvException` | `lodging.allUnits.totalLivingAreas.features.tvStreamingException` | `lodging.allUnits.totalLivingAreas.features.universalPowerAdaptersException` | `lodging.allUnits.totalLivingAreas.features.washerException` | `lodging.allUnits.totalLivingAreas.layout.balconyException` | `lodging.allUnits.totalLivingAreas.layout.livingAreaSqMetersException` | `lodging.allUnits.totalLivingAreas.layout.loftException` | `lodging.allUnits.totalLivingAreas.layout.nonSmokingException` | `lodging.allUnits.totalLivingAreas.layout.patioException` | `lodging.allUnits.totalLivingAreas.layout.stairsException` | `lodging.allUnits.totalLivingAreas.sleeping.bedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.bunkBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.cribsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.doubleBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.featherPillowsException` | `lodging.allUnits.totalLivingAreas.sleeping.hypoallergenicBeddingException` | `lodging.allUnits.totalLivingAreas.sleeping.kingBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.memoryFoamPillowsException` | `lodging.allUnits.totalLivingAreas.sleeping.otherBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.queenBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.rollAwayBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.singleOrTwinBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.sofaBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.syntheticPillowsException` | `lodging.allUnits.views.beachViewException` | `lodging.allUnits.views.cityViewException` | `lodging.allUnits.views.gardenViewException` | `lodging.allUnits.views.lakeViewException` | `lodging.allUnits.views.landmarkViewException` | `lodging.allUnits.views.oceanViewException` | `lodging.allUnits.views.poolViewException` | `lodging.allUnits.views.valleyViewException` | `lodging.business.businessCenterException` | `lodging.business.meetingRoomsCountException` | `lodging.business.meetingRoomsException` | `lodging.connectivity.freeWifiException` | `lodging.connectivity.publicAreaWifiAvailableException` | `lodging.connectivity.publicInternetTerminalException` | `lodging.connectivity.wifiAvailableException` | `lodging.families.babysittingException` | `lodging.families.kidsActivitiesException` | `lodging.families.kidsClubException` | `lodging.families.kidsFriendlyException` | `lodging.foodAndDrink.barException` | `lodging.foodAndDrink.breakfastAvailableException` | `lodging.foodAndDrink.breakfastBuffetException` | `lodging.foodAndDrink.buffetException` | `lodging.foodAndDrink.dinnerBuffetException` | `lodging.foodAndDrink.freeBreakfastException` | `lodging.foodAndDrink.restaurantException` | `lodging.foodAndDrink.restaurantsCountException` | `lodging.foodAndDrink.roomServiceException` | `lodging.foodAndDrink.tableServiceException` | `lodging.foodAndDrink.twentyFourHourRoomServiceException` | `lodging.foodAndDrink.vendingMachineException` | `lodging.guestUnits` | `lodging.guestUnits.${number}.label` | `lodging.healthAndSafety.enhancedCleaning.commercialGradeDisinfectantCleaningException` | `lodging.healthAndSafety.enhancedCleaning.commonAreasEnhancedCleaningException` | `lodging.healthAndSafety.enhancedCleaning.employeesTrainedCleaningProceduresException` | `lodging.healthAndSafety.enhancedCleaning.employeesTrainedThoroughHandWashingException` | `lodging.healthAndSafety.enhancedCleaning.employeesWearProtectiveEquipmentException` | `lodging.healthAndSafety.enhancedCleaning.guestRoomsEnhancedCleaningException` | `lodging.healthAndSafety.increasedFoodSafety.diningAreasAdditionalSanitationException` | `lodging.healthAndSafety.increasedFoodSafety.disposableFlatwareException` | `lodging.healthAndSafety.increasedFoodSafety.foodPreparationAndServingAdditionalSafetyException` | `lodging.healthAndSafety.increasedFoodSafety.individualPackagedMealsException` | `lodging.healthAndSafety.increasedFoodSafety.singleUseFoodMenusException` | `lodging.healthAndSafety.minimizedContact.contactlessCheckinCheckoutException` | `lodging.healthAndSafety.minimizedContact.digitalGuestRoomKeysException` | `lodging.healthAndSafety.minimizedContact.housekeepingScheduledRequestOnlyException` | `lodging.healthAndSafety.minimizedContact.noHighTouchItemsCommonAreasException` | `lodging.healthAndSafety.minimizedContact.noHighTouchItemsGuestRoomsException` | `lodging.healthAndSafety.minimizedContact.plasticKeycardsDisinfectedException` | `lodging.healthAndSafety.minimizedContact.roomBookingsBufferException` | `lodging.healthAndSafety.personalProtection.commonAreasOfferSanitizingItemsException` | `lodging.healthAndSafety.personalProtection.faceMaskRequiredException` | `lodging.healthAndSafety.personalProtection.guestRoomHygieneKitsAvailableException` | `lodging.healthAndSafety.personalProtection.protectiveEquipmentAvailableException` | `lodging.healthAndSafety.physicalDistancing.commonAreasPhysicalDistancingArrangedException` | `lodging.healthAndSafety.physicalDistancing.physicalDistancingRequiredException` | `lodging.healthAndSafety.physicalDistancing.safetyDividersException` | `lodging.healthAndSafety.physicalDistancing.sharedAreasLimitedOccupancyException` | `lodging.healthAndSafety.physicalDistancing.wellnessAreasHavePrivateSpacesException` | `lodging.housekeeping.dailyHousekeepingException` | `lodging.housekeeping.housekeepingAvailableException` | `lodging.housekeeping.turndownServiceException` | `lodging.parking.electricCarChargingStationsException` | `lodging.parking.freeParkingException` | `lodging.parking.freeSelfParkingException` | `lodging.parking.freeValetParkingException` | `lodging.parking.parkingAvailableException` | `lodging.parking.selfParkingAvailableException` | `lodging.parking.valetParkingAvailableException` | `lodging.pets.catsAllowedException` | `lodging.pets.dogsAllowedException` | `lodging.pets.petsAllowedException` | `lodging.pets.petsAllowedFreeException` | `lodging.policies.allInclusiveAvailableException` | `lodging.policies.allInclusiveOnlyException` | `lodging.policies.checkinTimeException` | `lodging.policies.checkoutTimeException` | `lodging.policies.kidsStayFreeException` | `lodging.policies.maxChildAgeException` | `lodging.policies.maxKidsStayFreeCountException` | `lodging.policies.paymentOptions.cashException` | `lodging.policies.paymentOptions.chequeException` | `lodging.policies.paymentOptions.creditCardException` | `lodging.policies.paymentOptions.debitCardException` | `lodging.policies.paymentOptions.mobileNfcException` | `lodging.policies.smokeFreePropertyException` | `lodging.pools.adultPoolException` | `lodging.pools.hotTubException` | `lodging.pools.indoorPoolException` | `lodging.pools.indoorPoolsCountException` | `lodging.pools.lazyRiverException` | `lodging.pools.lifeguardException` | `lodging.pools.outdoorPoolException` | `lodging.pools.outdoorPoolsCountException` | `lodging.pools.poolException` | `lodging.pools.poolsCountException` | `lodging.pools.wadingPoolException` | `lodging.pools.waterParkException` | `lodging.pools.waterslideException` | `lodging.pools.wavePoolException` | `lodging.property.builtYearException` | `lodging.property.floorsCountException` | `lodging.property.lastRenovatedYearException` | `lodging.property.roomsCountException` | `lodging.services.baggageStorageException` | `lodging.services.conciergeException` | `lodging.services.convenienceStoreException` | `lodging.services.currencyExchangeException` | `lodging.services.elevatorException` | `lodging.services.frontDeskException` | `lodging.services.fullServiceLaundryException` | `lodging.services.giftShopException` | `lodging.services.languagesSpoken` | `lodging.services.languagesSpoken.${number}.languageCode` | `lodging.services.languagesSpoken.${number}.spokenException` | `lodging.services.selfServiceLaundryException` | `lodging.services.socialHourException` | `lodging.services.twentyFourHourFrontDeskException` | `lodging.services.wakeUpCallsException` | `lodging.sustainability.energyEfficiency.carbonFreeEnergySourcesException` | `lodging.sustainability.energyEfficiency.energyConservationProgramException` | `lodging.sustainability.energyEfficiency.energyEfficientHeatingAndCoolingSystemsException` | `lodging.sustainability.energyEfficiency.energyEfficientLightingException` | `lodging.sustainability.energyEfficiency.energySavingThermostatsException` | `lodging.sustainability.energyEfficiency.greenBuildingDesignException` | `lodging.sustainability.energyEfficiency.independentOrganizationAuditsEnergyUseException` | `lodging.sustainability.sustainabilityCertifications.breeamCertification` | `lodging.sustainability.sustainabilityCertifications.breeamCertificationException` | `lodging.sustainability.sustainabilityCertifications.ecoCertifications` | `lodging.sustainability.sustainabilityCertifications.ecoCertifications.${number}.awardedException` | `lodging.sustainability.sustainabilityCertifications.ecoCertifications.${number}.ecoCertificate` | `lodging.sustainability.sustainabilityCertifications.leedCertification` | `lodging.sustainability.sustainabilityCertifications.leedCertificationException` | `lodging.sustainability.sustainableSourcing.ecoFriendlyToiletriesException` | `lodging.sustainability.sustainableSourcing.locallySourcedFoodAndBeveragesException` | `lodging.sustainability.sustainableSourcing.organicCageFreeEggsException` | `lodging.sustainability.sustainableSourcing.organicFoodAndBeveragesException` | `lodging.sustainability.sustainableSourcing.responsiblePurchasingPolicyException` | `lodging.sustainability.sustainableSourcing.responsiblySourcesSeafoodException` | `lodging.sustainability.sustainableSourcing.veganMealsException` | `lodging.sustainability.sustainableSourcing.vegetarianMealsException` | `lodging.sustainability.wasteReduction.compostableFoodContainersAndCutleryException` | `lodging.sustainability.wasteReduction.compostsExcessFoodException` | `lodging.sustainability.wasteReduction.donatesExcessFoodException` | `lodging.sustainability.wasteReduction.foodWasteReductionProgramException` | `lodging.sustainability.wasteReduction.noSingleUsePlasticStrawsException` | `lodging.sustainability.wasteReduction.noSingleUsePlasticWaterBottlesException` | `lodging.sustainability.wasteReduction.noStyrofoamFoodContainersException` | `lodging.sustainability.wasteReduction.recyclingProgramException` | `lodging.sustainability.wasteReduction.refillableToiletryContainersException` | `lodging.sustainability.wasteReduction.safelyDisposesBatteriesException` | `lodging.sustainability.wasteReduction.safelyDisposesElectronicsException` | `lodging.sustainability.wasteReduction.safelyDisposesLightbulbsException` | `lodging.sustainability.wasteReduction.safelyHandlesHazardousSubstancesException` | `lodging.sustainability.wasteReduction.soapDonationProgramException` | `lodging.sustainability.wasteReduction.toiletryDonationProgramException` | `lodging.sustainability.wasteReduction.waterBottleFillingStationsException` | `lodging.sustainability.waterConservation.independentOrganizationAuditsWaterUseException` | `lodging.sustainability.waterConservation.linenReuseProgramException` | `lodging.sustainability.waterConservation.towelReuseProgramException` | `lodging.sustainability.waterConservation.waterSavingShowersException` | `lodging.sustainability.waterConservation.waterSavingSinksException` | `lodging.sustainability.waterConservation.waterSavingToiletsException` | `lodging.transportation.airportShuttleException` | `lodging.transportation.carRentalOnPropertyException` | `lodging.transportation.freeAirportShuttleException` | `lodging.transportation.freePrivateCarServiceException` | `lodging.transportation.localShuttleException` | `lodging.transportation.privateCarServiceException` | `lodging.transportation.transferException` | `lodging.wellness.doctorOnCallException` | `lodging.wellness.ellipticalMachineException` | `lodging.wellness.fitnessCenterException` | `lodging.wellness.freeFitnessCenterException` | `lodging.wellness.freeWeightsException` | `lodging.wellness.massageException` | `lodging.wellness.salonException` | `lodging.wellness.saunaException` | `lodging.wellness.spaException` | `lodging.wellness.treadmillException` | `lodging.wellness.weightMachineException`, 7> & {
542
+ __applicationErrorsType?: GetLocationLodgingApplicationErrors;
543
+ }>;
544
+ }
545
+ declare function updateLocationLodging$1(httpClient: HttpClient): UpdateLocationLodgingSignature;
546
+ interface UpdateLocationLodgingSignature {
547
+ /**
548
+ * Updates the hotel data on a location's Business Profile.
549
+ *
550
+ * Partial update: only the fields named in `fieldMask` are touched, everything
551
+ * else on the listing is left alone. Paths are the proto field paths and may be
552
+ * nested, so `families` replaces that whole section while `families.kidsClub`
553
+ * changes one amenity.
554
+ *
555
+ * A field named in the mask but left empty in `lodging` clears it — that is how
556
+ * you go from "we have a pool" back to "not known". To say "no pool", send
557
+ * `false` rather than clearing.
558
+ *
559
+ * Repeated fields can only be replaced whole, not edited item by item, so
560
+ * `guestUnits` is a valid path and `guestUnits.codes` is not.
561
+ *
562
+ * Read-only fields (`metadata`, `allUnits`, `someUnits`, and anything Google
563
+ * derives) can't be updated. They're marked read-only on the schema, so naming
564
+ * one in the mask is rejected by request validation.
565
+ *
566
+ * Errors:
567
+ * - `INVALID_UPDATE_MASK`: the mask is empty, or a path doesn't exist or reaches
568
+ * into a repeated field. Google isn't called.
569
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
570
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. Google's status and
571
+ * response are in the error payload.
572
+ * @param - Location ID. This is Google's location identifier.
573
+ * @param - The hotel data to set. Only the fields named in `fieldMask` are read, so this
574
+ * can be as sparse as the change you're making.
575
+ */
576
+ (locationId: string, lodging: Lodging, options: NonNullablePaths<UpdateLocationLodgingOptions, `fieldMask`, 2>): Promise<NonNullablePaths<UpdateLocationLodgingResponse, `lodging.accessibility.mobilityAccessibleElevatorException` | `lodging.accessibility.mobilityAccessibleException` | `lodging.accessibility.mobilityAccessibleParkingException` | `lodging.accessibility.mobilityAccessiblePoolException` | `lodging.activities.beachAccessException` | `lodging.activities.beachFrontException` | `lodging.activities.bicycleRentalException` | `lodging.activities.boutiqueStoresException` | `lodging.activities.casinoException` | `lodging.activities.freeBicycleRentalException` | `lodging.activities.freeWatercraftRentalException` | `lodging.activities.gameRoomException` | `lodging.activities.golfException` | `lodging.activities.horsebackRidingException` | `lodging.activities.nightclubException` | `lodging.activities.privateBeachException` | `lodging.activities.scubaException` | `lodging.activities.snorkelingException` | `lodging.activities.tennisException` | `lodging.activities.waterSkiingException` | `lodging.activities.watercraftRentalException` | `lodging.allUnits.bungalowOrVillaException` | `lodging.allUnits.connectingUnitAvailableException` | `lodging.allUnits.executiveFloorException` | `lodging.allUnits.maxAdultOccupantsCountException` | `lodging.allUnits.maxChildOccupantsCountException` | `lodging.allUnits.maxOccupantsCountException` | `lodging.allUnits.privateHomeException` | `lodging.allUnits.suiteException` | `lodging.allUnits.tier` | `lodging.allUnits.tierException` | `lodging.allUnits.totalLivingAreas.accessibility.adaCompliantUnitException` | `lodging.allUnits.totalLivingAreas.accessibility.hearingAccessibleDoorbellException` | `lodging.allUnits.totalLivingAreas.accessibility.hearingAccessibleFireAlarmException` | `lodging.allUnits.totalLivingAreas.accessibility.hearingAccessibleUnitException` | `lodging.allUnits.totalLivingAreas.accessibility.mobilityAccessibleBathtubException` | `lodging.allUnits.totalLivingAreas.accessibility.mobilityAccessibleShowerException` | `lodging.allUnits.totalLivingAreas.accessibility.mobilityAccessibleToiletException` | `lodging.allUnits.totalLivingAreas.accessibility.mobilityAccessibleUnitException` | `lodging.allUnits.totalLivingAreas.eating.coffeeMakerException` | `lodging.allUnits.totalLivingAreas.eating.cookwareException` | `lodging.allUnits.totalLivingAreas.eating.dishwasherException` | `lodging.allUnits.totalLivingAreas.eating.indoorGrillException` | `lodging.allUnits.totalLivingAreas.eating.kettleException` | `lodging.allUnits.totalLivingAreas.eating.kitchenAvailableException` | `lodging.allUnits.totalLivingAreas.eating.microwaveException` | `lodging.allUnits.totalLivingAreas.eating.minibarException` | `lodging.allUnits.totalLivingAreas.eating.outdoorGrillException` | `lodging.allUnits.totalLivingAreas.eating.ovenException` | `lodging.allUnits.totalLivingAreas.eating.refrigeratorException` | `lodging.allUnits.totalLivingAreas.eating.sinkException` | `lodging.allUnits.totalLivingAreas.eating.snackbarException` | `lodging.allUnits.totalLivingAreas.eating.stoveException` | `lodging.allUnits.totalLivingAreas.eating.teaStationException` | `lodging.allUnits.totalLivingAreas.eating.toasterException` | `lodging.allUnits.totalLivingAreas.features.airConditioningException` | `lodging.allUnits.totalLivingAreas.features.bathtubException` | `lodging.allUnits.totalLivingAreas.features.bidetException` | `lodging.allUnits.totalLivingAreas.features.dryerException` | `lodging.allUnits.totalLivingAreas.features.electronicRoomKeyException` | `lodging.allUnits.totalLivingAreas.features.fireplaceException` | `lodging.allUnits.totalLivingAreas.features.hairdryerException` | `lodging.allUnits.totalLivingAreas.features.heatingException` | `lodging.allUnits.totalLivingAreas.features.inunitSafeException` | `lodging.allUnits.totalLivingAreas.features.inunitWifiAvailableException` | `lodging.allUnits.totalLivingAreas.features.ironingEquipmentException` | `lodging.allUnits.totalLivingAreas.features.payPerViewMoviesException` | `lodging.allUnits.totalLivingAreas.features.privateBathroomException` | `lodging.allUnits.totalLivingAreas.features.showerException` | `lodging.allUnits.totalLivingAreas.features.toiletException` | `lodging.allUnits.totalLivingAreas.features.tvCastingException` | `lodging.allUnits.totalLivingAreas.features.tvException` | `lodging.allUnits.totalLivingAreas.features.tvStreamingException` | `lodging.allUnits.totalLivingAreas.features.universalPowerAdaptersException` | `lodging.allUnits.totalLivingAreas.features.washerException` | `lodging.allUnits.totalLivingAreas.layout.balconyException` | `lodging.allUnits.totalLivingAreas.layout.livingAreaSqMetersException` | `lodging.allUnits.totalLivingAreas.layout.loftException` | `lodging.allUnits.totalLivingAreas.layout.nonSmokingException` | `lodging.allUnits.totalLivingAreas.layout.patioException` | `lodging.allUnits.totalLivingAreas.layout.stairsException` | `lodging.allUnits.totalLivingAreas.sleeping.bedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.bunkBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.cribsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.doubleBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.featherPillowsException` | `lodging.allUnits.totalLivingAreas.sleeping.hypoallergenicBeddingException` | `lodging.allUnits.totalLivingAreas.sleeping.kingBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.memoryFoamPillowsException` | `lodging.allUnits.totalLivingAreas.sleeping.otherBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.queenBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.rollAwayBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.singleOrTwinBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.sofaBedsCountException` | `lodging.allUnits.totalLivingAreas.sleeping.syntheticPillowsException` | `lodging.allUnits.views.beachViewException` | `lodging.allUnits.views.cityViewException` | `lodging.allUnits.views.gardenViewException` | `lodging.allUnits.views.lakeViewException` | `lodging.allUnits.views.landmarkViewException` | `lodging.allUnits.views.oceanViewException` | `lodging.allUnits.views.poolViewException` | `lodging.allUnits.views.valleyViewException` | `lodging.business.businessCenterException` | `lodging.business.meetingRoomsCountException` | `lodging.business.meetingRoomsException` | `lodging.connectivity.freeWifiException` | `lodging.connectivity.publicAreaWifiAvailableException` | `lodging.connectivity.publicInternetTerminalException` | `lodging.connectivity.wifiAvailableException` | `lodging.families.babysittingException` | `lodging.families.kidsActivitiesException` | `lodging.families.kidsClubException` | `lodging.families.kidsFriendlyException` | `lodging.foodAndDrink.barException` | `lodging.foodAndDrink.breakfastAvailableException` | `lodging.foodAndDrink.breakfastBuffetException` | `lodging.foodAndDrink.buffetException` | `lodging.foodAndDrink.dinnerBuffetException` | `lodging.foodAndDrink.freeBreakfastException` | `lodging.foodAndDrink.restaurantException` | `lodging.foodAndDrink.restaurantsCountException` | `lodging.foodAndDrink.roomServiceException` | `lodging.foodAndDrink.tableServiceException` | `lodging.foodAndDrink.twentyFourHourRoomServiceException` | `lodging.foodAndDrink.vendingMachineException` | `lodging.guestUnits` | `lodging.guestUnits.${number}.label` | `lodging.healthAndSafety.enhancedCleaning.commercialGradeDisinfectantCleaningException` | `lodging.healthAndSafety.enhancedCleaning.commonAreasEnhancedCleaningException` | `lodging.healthAndSafety.enhancedCleaning.employeesTrainedCleaningProceduresException` | `lodging.healthAndSafety.enhancedCleaning.employeesTrainedThoroughHandWashingException` | `lodging.healthAndSafety.enhancedCleaning.employeesWearProtectiveEquipmentException` | `lodging.healthAndSafety.enhancedCleaning.guestRoomsEnhancedCleaningException` | `lodging.healthAndSafety.increasedFoodSafety.diningAreasAdditionalSanitationException` | `lodging.healthAndSafety.increasedFoodSafety.disposableFlatwareException` | `lodging.healthAndSafety.increasedFoodSafety.foodPreparationAndServingAdditionalSafetyException` | `lodging.healthAndSafety.increasedFoodSafety.individualPackagedMealsException` | `lodging.healthAndSafety.increasedFoodSafety.singleUseFoodMenusException` | `lodging.healthAndSafety.minimizedContact.contactlessCheckinCheckoutException` | `lodging.healthAndSafety.minimizedContact.digitalGuestRoomKeysException` | `lodging.healthAndSafety.minimizedContact.housekeepingScheduledRequestOnlyException` | `lodging.healthAndSafety.minimizedContact.noHighTouchItemsCommonAreasException` | `lodging.healthAndSafety.minimizedContact.noHighTouchItemsGuestRoomsException` | `lodging.healthAndSafety.minimizedContact.plasticKeycardsDisinfectedException` | `lodging.healthAndSafety.minimizedContact.roomBookingsBufferException` | `lodging.healthAndSafety.personalProtection.commonAreasOfferSanitizingItemsException` | `lodging.healthAndSafety.personalProtection.faceMaskRequiredException` | `lodging.healthAndSafety.personalProtection.guestRoomHygieneKitsAvailableException` | `lodging.healthAndSafety.personalProtection.protectiveEquipmentAvailableException` | `lodging.healthAndSafety.physicalDistancing.commonAreasPhysicalDistancingArrangedException` | `lodging.healthAndSafety.physicalDistancing.physicalDistancingRequiredException` | `lodging.healthAndSafety.physicalDistancing.safetyDividersException` | `lodging.healthAndSafety.physicalDistancing.sharedAreasLimitedOccupancyException` | `lodging.healthAndSafety.physicalDistancing.wellnessAreasHavePrivateSpacesException` | `lodging.housekeeping.dailyHousekeepingException` | `lodging.housekeeping.housekeepingAvailableException` | `lodging.housekeeping.turndownServiceException` | `lodging.parking.electricCarChargingStationsException` | `lodging.parking.freeParkingException` | `lodging.parking.freeSelfParkingException` | `lodging.parking.freeValetParkingException` | `lodging.parking.parkingAvailableException` | `lodging.parking.selfParkingAvailableException` | `lodging.parking.valetParkingAvailableException` | `lodging.pets.catsAllowedException` | `lodging.pets.dogsAllowedException` | `lodging.pets.petsAllowedException` | `lodging.pets.petsAllowedFreeException` | `lodging.policies.allInclusiveAvailableException` | `lodging.policies.allInclusiveOnlyException` | `lodging.policies.checkinTimeException` | `lodging.policies.checkoutTimeException` | `lodging.policies.kidsStayFreeException` | `lodging.policies.maxChildAgeException` | `lodging.policies.maxKidsStayFreeCountException` | `lodging.policies.paymentOptions.cashException` | `lodging.policies.paymentOptions.chequeException` | `lodging.policies.paymentOptions.creditCardException` | `lodging.policies.paymentOptions.debitCardException` | `lodging.policies.paymentOptions.mobileNfcException` | `lodging.policies.smokeFreePropertyException` | `lodging.pools.adultPoolException` | `lodging.pools.hotTubException` | `lodging.pools.indoorPoolException` | `lodging.pools.indoorPoolsCountException` | `lodging.pools.lazyRiverException` | `lodging.pools.lifeguardException` | `lodging.pools.outdoorPoolException` | `lodging.pools.outdoorPoolsCountException` | `lodging.pools.poolException` | `lodging.pools.poolsCountException` | `lodging.pools.wadingPoolException` | `lodging.pools.waterParkException` | `lodging.pools.waterslideException` | `lodging.pools.wavePoolException` | `lodging.property.builtYearException` | `lodging.property.floorsCountException` | `lodging.property.lastRenovatedYearException` | `lodging.property.roomsCountException` | `lodging.services.baggageStorageException` | `lodging.services.conciergeException` | `lodging.services.convenienceStoreException` | `lodging.services.currencyExchangeException` | `lodging.services.elevatorException` | `lodging.services.frontDeskException` | `lodging.services.fullServiceLaundryException` | `lodging.services.giftShopException` | `lodging.services.languagesSpoken` | `lodging.services.languagesSpoken.${number}.languageCode` | `lodging.services.languagesSpoken.${number}.spokenException` | `lodging.services.selfServiceLaundryException` | `lodging.services.socialHourException` | `lodging.services.twentyFourHourFrontDeskException` | `lodging.services.wakeUpCallsException` | `lodging.sustainability.energyEfficiency.carbonFreeEnergySourcesException` | `lodging.sustainability.energyEfficiency.energyConservationProgramException` | `lodging.sustainability.energyEfficiency.energyEfficientHeatingAndCoolingSystemsException` | `lodging.sustainability.energyEfficiency.energyEfficientLightingException` | `lodging.sustainability.energyEfficiency.energySavingThermostatsException` | `lodging.sustainability.energyEfficiency.greenBuildingDesignException` | `lodging.sustainability.energyEfficiency.independentOrganizationAuditsEnergyUseException` | `lodging.sustainability.sustainabilityCertifications.breeamCertification` | `lodging.sustainability.sustainabilityCertifications.breeamCertificationException` | `lodging.sustainability.sustainabilityCertifications.ecoCertifications` | `lodging.sustainability.sustainabilityCertifications.ecoCertifications.${number}.awardedException` | `lodging.sustainability.sustainabilityCertifications.ecoCertifications.${number}.ecoCertificate` | `lodging.sustainability.sustainabilityCertifications.leedCertification` | `lodging.sustainability.sustainabilityCertifications.leedCertificationException` | `lodging.sustainability.sustainableSourcing.ecoFriendlyToiletriesException` | `lodging.sustainability.sustainableSourcing.locallySourcedFoodAndBeveragesException` | `lodging.sustainability.sustainableSourcing.organicCageFreeEggsException` | `lodging.sustainability.sustainableSourcing.organicFoodAndBeveragesException` | `lodging.sustainability.sustainableSourcing.responsiblePurchasingPolicyException` | `lodging.sustainability.sustainableSourcing.responsiblySourcesSeafoodException` | `lodging.sustainability.sustainableSourcing.veganMealsException` | `lodging.sustainability.sustainableSourcing.vegetarianMealsException` | `lodging.sustainability.wasteReduction.compostableFoodContainersAndCutleryException` | `lodging.sustainability.wasteReduction.compostsExcessFoodException` | `lodging.sustainability.wasteReduction.donatesExcessFoodException` | `lodging.sustainability.wasteReduction.foodWasteReductionProgramException` | `lodging.sustainability.wasteReduction.noSingleUsePlasticStrawsException` | `lodging.sustainability.wasteReduction.noSingleUsePlasticWaterBottlesException` | `lodging.sustainability.wasteReduction.noStyrofoamFoodContainersException` | `lodging.sustainability.wasteReduction.recyclingProgramException` | `lodging.sustainability.wasteReduction.refillableToiletryContainersException` | `lodging.sustainability.wasteReduction.safelyDisposesBatteriesException` | `lodging.sustainability.wasteReduction.safelyDisposesElectronicsException` | `lodging.sustainability.wasteReduction.safelyDisposesLightbulbsException` | `lodging.sustainability.wasteReduction.safelyHandlesHazardousSubstancesException` | `lodging.sustainability.wasteReduction.soapDonationProgramException` | `lodging.sustainability.wasteReduction.toiletryDonationProgramException` | `lodging.sustainability.wasteReduction.waterBottleFillingStationsException` | `lodging.sustainability.waterConservation.independentOrganizationAuditsWaterUseException` | `lodging.sustainability.waterConservation.linenReuseProgramException` | `lodging.sustainability.waterConservation.towelReuseProgramException` | `lodging.sustainability.waterConservation.waterSavingShowersException` | `lodging.sustainability.waterConservation.waterSavingSinksException` | `lodging.sustainability.waterConservation.waterSavingToiletsException` | `lodging.transportation.airportShuttleException` | `lodging.transportation.carRentalOnPropertyException` | `lodging.transportation.freeAirportShuttleException` | `lodging.transportation.freePrivateCarServiceException` | `lodging.transportation.localShuttleException` | `lodging.transportation.privateCarServiceException` | `lodging.transportation.transferException` | `lodging.wellness.doctorOnCallException` | `lodging.wellness.ellipticalMachineException` | `lodging.wellness.fitnessCenterException` | `lodging.wellness.freeFitnessCenterException` | `lodging.wellness.freeWeightsException` | `lodging.wellness.massageException` | `lodging.wellness.salonException` | `lodging.wellness.saunaException` | `lodging.wellness.spaException` | `lodging.wellness.treadmillException` | `lodging.wellness.weightMachineException`, 7> & {
577
+ __applicationErrorsType?: UpdateLocationLodgingApplicationErrors;
578
+ }>;
579
+ }
580
+ declare function listAttributeMetadata$1(httpClient: HttpClient): ListAttributeMetadataSignature;
581
+ interface ListAttributeMetadataSignature {
582
+ /**
583
+ * Retrieves the attributes a Business Profile can have, with each one's value
584
+ * type, display name and options.
585
+ *
586
+ * Use it to work out what you can send to Update Location Attributes, or to build
587
+ * an editor for a site owner.
588
+ *
589
+ * Specify exactly one of:
590
+ *
591
+ * - `locationId`, for the attributes available to an existing location, based on
592
+ * its category and country.
593
+ * - `categoryRegion`, for the attributes available to a Google category and
594
+ * country. Use this before a location exists, for example while a site owner is
595
+ * still choosing a category. It doesn't need a connected Google account.
596
+ *
597
+ * Errors:
598
+ * - `INVALID_ARGUMENT`: neither or both of the two lookup fields were specified.
599
+ * - `NOT_FOUND`: the location isn't recorded for this site. Google isn't called.
600
+ * - `GOOGLE_API_CALL_FAILED`: the call to Google failed. Google's status and
601
+ * response are in the error payload.
602
+ */
603
+ (options?: ListAttributeMetadataOptions): Promise<NonNullablePaths<ListAttributeMetadataResponse, `attributeMetadata` | `attributeMetadata.${number}.attributeId` | `attributeMetadata.${number}.valueType` | `attributeMetadata.${number}.displayName` | `attributeMetadata.${number}.groupDisplayName` | `attributeMetadata.${number}.repeatable` | `attributeMetadata.${number}.deprecated`, 4> & {
604
+ __applicationErrorsType?: ListAttributeMetadataApplicationErrors;
605
+ }>;
606
+ }
607
+ declare function listCategories$1(httpClient: HttpClient): ListCategoriesSignature;
608
+ interface ListCategoriesSignature {
609
+ /**
610
+ * Retrieves Google's catalog of business categories.
611
+ *
612
+ * Use it to let a site owner choose a primary or additional category before
613
+ * creating or updating a location. Each returned `id` can be assigned directly
614
+ * to a category on the location.
615
+ *
616
+ * The catalog is the same for everyone, so results don't depend on the
617
+ * location. `locationId` is optional and selects whose Google credentials the
618
+ * catalog is read with, not which categories come back. Send it when you
619
+ * already have a location, and leave it out before one exists, for example in
620
+ * a create-location flow.
621
+ *
622
+ * `searchTerm` matches against the category's localized display name. Pass a
623
+ * plain term rather than a query expression. Leave it out to page through the
624
+ * whole catalog.
625
+ *
626
+ * Errors:
627
+ * - `NOT_FOUND`: `locationId` was set but the location isn't recorded for this
628
+ * site. Google isn't called.
629
+ * - `GOOGLE_API_CALL_FAILED`: Google returned an error. Its HTTP status is in
630
+ * the error data.
631
+ * @param - ISO 3166-1 alpha-2 country code (e.g. "US") the catalog is scoped to.
632
+ * Categories differ per country, so this is required.
633
+ */
634
+ (regionCode: string, options?: NonNullablePaths<ListCategoriesOptions, `languageCode`, 2>): Promise<NonNullablePaths<ListCategoriesResponse, `categories` | `categories.${number}._id` | `categories.${number}.displayName`, 4> & {
635
+ __applicationErrorsType?: ListCategoriesApplicationErrors;
636
+ }>;
637
+ }
638
+ declare function getVerificationOptions$1(httpClient: HttpClient): GetVerificationOptionsSignature;
639
+ interface GetVerificationOptionsSignature {
640
+ /**
641
+ * Retrieves the ways a location can be verified.
642
+ *
643
+ * Google decides which options a location is eligible for, and each option
644
+ * says what it needs. Call this before Start Verification to find out what to
645
+ * offer the site owner.
646
+ *
647
+ * For a service-area business, save `serviceAreaPostalAddress` on the location
648
+ * first with Update Location. Google can't work out the options without it.
649
+ * @param - Location ID. This is Google's location identifier.
650
+ */
651
+ (locationId: string): Promise<NonNullablePaths<GetVerificationOptionsResponse, `options` | `options.${number}.method` | `options.${number}.displayData`, 4> & {
652
+ __applicationErrorsType?: GetVerificationOptionsApplicationErrors;
653
+ }>;
654
+ }
655
+ declare function startVerification$1(httpClient: HttpClient): StartVerificationSignature;
656
+ interface StartVerificationSignature {
657
+ /**
658
+ * Starts verifying a location with Google.
659
+ *
660
+ * Call Get Verification Options first to find out which methods Google allows for
661
+ * the location, then specify one here.
662
+ *
663
+ * For `ADDRESS`, `EMAIL`, `PHONE_CALL` and `SMS`, Google sends a PIN to the site
664
+ * owner. Pass it to Complete Verification to finish.
665
+ *
666
+ * For `AUTO`, Google verifies the location itself. There's no PIN and no second
667
+ * call, and `verificationState` comes back as `VERIFIED` straight away.
668
+ *
669
+ * `VERIFIED` is narrower than it sounds. It means the location has business
670
+ * authority and has entered Google's quality review. It does not mean the profile
671
+ * is live and trusted: for that, check `hasVoiceOfMerchant` with Get Voice Of
672
+ * Merchant. A location can be verified and still not be publicly visible.
673
+ * @param - Location ID. This is Google's location identifier.
674
+ * @param - Verification method chosen by the merchant.
675
+ */
676
+ (locationId: string, method: VerificationMethodWithLiterals, options?: StartVerificationOptions): Promise<NonNullablePaths<StartVerificationResponse, `pendingVerificationId` | `verificationState`, 2> & {
677
+ __applicationErrorsType?: StartVerificationApplicationErrors;
678
+ }>;
679
+ }
680
+ declare function completeVerification$1(httpClient: HttpClient): CompleteVerificationSignature;
681
+ interface CompleteVerificationSignature {
682
+ /**
683
+ * Completes a verification by submitting the PIN Google sent.
684
+ *
685
+ * Specify the `pendingVerificationId` from Start Verification and the `pin`
686
+ * the site owner received by the method they chose.
687
+ *
688
+ * Verification succeeding doesn't on its own mean the profile is live on
689
+ * Google. Call Get Voice Of Merchant to check that.
690
+ * @param - Location ID. This is Google's location identifier.
691
+ * @param - The PIN the site owner received by the method they chose.
692
+ */
693
+ (locationId: string, pin: string, options: NonNullablePaths<CompleteVerificationOptions, `pendingVerificationId`, 2>): Promise<NonNullablePaths<CompleteVerificationResponse, `verificationState`, 2> & {
694
+ __applicationErrorsType?: CompleteVerificationApplicationErrors;
695
+ }>;
696
+ }
697
+ declare function getVoiceOfMerchant$1(httpClient: HttpClient): GetVoiceOfMerchantSignature;
698
+ interface GetVoiceOfMerchantSignature {
699
+ /**
700
+ * Retrieves whether Google considers a location's profile trusted and live.
701
+ *
702
+ * Google calls this Voice of Merchant. A location can be verified and still
703
+ * not have it, so check this before telling a site owner their profile is
704
+ * live.
705
+ *
706
+ * `state` says what's needed next, such as waiting, verifying, complying with
707
+ * Google's guidelines, or resolving who owns the listing.
708
+ * @param - Location ID. This is Google's location identifier.
709
+ */
710
+ (locationId: string): Promise<NonNullablePaths<GetVoiceOfMerchantResponse, `voiceOfMerchant.hasVoiceOfMerchant` | `voiceOfMerchant.hasBusinessAuthority` | `voiceOfMerchant.state` | `voiceOfMerchant.recommendationReason` | `voiceOfMerchant.hasPendingVerification`, 3>>;
711
+ }
712
+ declare function getLocationInsights$1(httpClient: HttpClient): GetLocationInsightsSignature;
713
+ interface GetLocationInsightsSignature {
714
+ /**
715
+ * Retrieves daily performance metrics for a location.
716
+ *
717
+ * Covers how people found and used the profile: impressions on Google Search
718
+ * and Maps split by desktop and mobile, and actions such as calls, direction
719
+ * requests, website clicks, messages, and bookings.
720
+ *
721
+ * Specify the metrics you want in `metricTypes` and the window in
722
+ * `timeRange`. Each returned metric carries its own daily series, so ask only
723
+ * for the ones you'll use.
724
+ * @param - Location ID. This is Google's location identifier.
725
+ * @param - Time range for the insights query.
726
+ */
727
+ (locationId: string, timeRange: InsightsTimeRange, options: NonNullablePaths<GetLocationInsightsOptions, `metricTypes`, 2>): Promise<NonNullablePaths<GetLocationInsightsResponse, `metrics` | `metrics.${number}.metricType` | `metrics.${number}.totalValue`, 4>>;
728
+ }
729
+ declare function listSearchKeywordImpressions$1(httpClient: HttpClient): ListSearchKeywordImpressionsSignature;
730
+ interface ListSearchKeywordImpressionsSignature {
731
+ /**
732
+ * Retrieves a list of up to 100 search terms people used to find a location,
733
+ * by calendar month.
734
+ *
735
+ * Each term carries either `value`, the exact number of impressions, or
736
+ * `threshold`, meaning the real count is below that number and Google won't
737
+ * report it precisely. Check which one is set rather than assuming a count.
738
+ *
739
+ * Search terms are what real people typed, so treat `searchKeyword` as
740
+ * possibly containing personal information.
741
+ * @param - Location ID. This is Google's location identifier.
742
+ * @param - Inclusive calendar-month range to query.
743
+ */
744
+ (locationId: string, monthlyRange: MonthlyRange, options?: ListSearchKeywordImpressionsOptions): Promise<NonNullablePaths<ListSearchKeywordImpressionsResponse, `keywordImpressions` | `keywordImpressions.${number}.value` | `keywordImpressions.${number}.threshold` | `keywordImpressions.${number}.searchKeyword`, 4> & {
745
+ __applicationErrorsType?: ListSearchKeywordImpressionsApplicationErrors;
746
+ }>;
747
+ }
748
+ declare function inviteAdminToLocation$1(httpClient: HttpClient): InviteAdminToLocationSignature;
749
+ interface InviteAdminToLocationSignature {
750
+ /**
751
+ * Invites a Google account to manage a location's Business Profile.
752
+ *
753
+ * Specify the `email` of the Google account to invite and the `role` to grant.
754
+ * The invitation has to be accepted by that account before it takes effect.
755
+ * Until then it appears in Get Location Admins with `pendingInvitation` set to
756
+ * `true`.
757
+ *
758
+ * An account that already manages the location isn't invited again, so calling
759
+ * this twice is safe.
760
+ * @param - Location ID (Google's opaque location id) to invite the account to manage.
761
+ * @param - The email of the Google account to invite as a manager. PII.
762
+ */
763
+ (locationId: string, email: string, options: NonNullablePaths<InviteAdminToLocationOptions, `role`, 2>): Promise<InviteAdminToLocationResponse>;
764
+ }
765
+ declare function getLocationAdmins$1(httpClient: HttpClient): GetLocationAdminsSignature;
766
+ interface GetLocationAdminsSignature {
767
+ /**
768
+ * Retrieves the accounts that manage a location's Business Profile, including
769
+ * invitations that haven't been accepted yet.
770
+ *
771
+ * Use it to check who already has access before inviting someone, because
772
+ * Google rejects an invitation for an account that already manages the
773
+ * location.
774
+ * @param - Location ID (Google's opaque location id) to list admins for.
775
+ */
776
+ (locationId: string): Promise<NonNullablePaths<GetLocationAdminsResponse, `locationAdmins` | `locationAdmins.${number}._id` | `locationAdmins.${number}.googleLocationId` | `locationAdmins.${number}.accountResourceName` | `locationAdmins.${number}.role` | `locationAdmins.${number}.pendingInvitation`, 4>>;
777
+ }
778
+ declare function getAddressSchemaByCountryCode$1(httpClient: HttpClient): GetAddressSchemaByCountryCodeSignature;
779
+ interface GetAddressSchemaByCountryCodeSignature {
780
+ /**
781
+ * Retrieves how to render an address form for a country.
782
+ *
783
+ * Tells you which address fields to show and in what order, which are
784
+ * required, the administrative areas to offer such as states or provinces, and
785
+ * what to label each field in that country.
786
+ *
787
+ * This is public reference data, so it needs no connected Google account and
788
+ * no existing location. Call it before collecting an address, for example
789
+ * while creating a location.
790
+ * @param - ISO 3166-1 alpha-2 country code (e.g. "US", "UA", "KR").
791
+ */
792
+ (countryCode: string, options?: GetAddressSchemaByCountryCodeOptions): Promise<NonNullablePaths<GetAddressSchemaByCountryCodeResponse, `schema.countryCode` | `schema.fields` | `schema.requiredFields` | `schema.administrativeAreas` | `schema.postalFormat` | `schema.languages` | `schema.administrativeAreaType` | `schema.localityType` | `schema.subLocalityType` | `schema.postalCodeType`, 3> & {
793
+ __applicationErrorsType?: GetAddressSchemaByCountryCodeApplicationErrors;
794
+ }>;
795
+ }
796
+ declare function suggestRegions$1(httpClient: HttpClient): SuggestRegionsSignature;
797
+ interface SuggestRegionsSignature {
798
+ /**
799
+ * Retrieves region suggestions for partial text, for autocompleting a city,
800
+ * state or region as someone types.
801
+ *
802
+ * Only places of that kind come back. Street addresses and businesses never
803
+ * do, so use Suggest Establishments to autocomplete a business name.
804
+ *
805
+ * Needs no connected Google account and no existing location. Text shorter
806
+ * than 3 characters returns an empty list rather than an error, so you can
807
+ * call it on every keystroke.
808
+ * @param - Partial free-text the end-user is typing (e.g. "new y"). Sent per debounced
809
+ * keystroke; Google returns region/city predictions matching this prefix.
810
+ * Queries shorter than 3 chars return an empty list (handled server-side),
811
+ * not an error.
812
+ */
813
+ (query: string, options?: NonNullablePaths<SuggestRegionsOptions, `countryCode`, 2>): Promise<NonNullablePaths<SuggestRegionsResponse, `suggestions` | `suggestions.${number}.placeId` | `suggestions.${number}.description` | `suggestions.${number}.mainText` | `suggestions.${number}.secondaryText`, 4> & {
814
+ __applicationErrorsType?: SuggestRegionsApplicationErrors;
815
+ }>;
816
+ }
817
+ declare function suggestEstablishments$1(httpClient: HttpClient): SuggestEstablishmentsSignature;
818
+ interface SuggestEstablishmentsSignature {
819
+ /**
820
+ * Retrieves business suggestions for partial text, for autocompleting a
821
+ * business name as someone types.
822
+ *
823
+ * Only existing businesses come back. Regions and street addresses never do,
824
+ * so use Suggest Regions for those. Use this to find and prefill the business
825
+ * a site owner wants to claim.
826
+ *
827
+ * Needs no connected Google account and no existing location. Text shorter
828
+ * than 3 characters returns an empty list rather than an error.
829
+ *
830
+ * `countryCode` is optional here, unlike Suggest Regions: business names are
831
+ * searched worldwide unless you narrow them.
832
+ * @param - Partial free-text the end-user is typing (e.g. "acme hard"). Sent per
833
+ * debounced keystroke; Google returns business-name predictions matching
834
+ * this prefix. Queries shorter than 3 chars return an empty list
835
+ * (handled server-side), not an error.
836
+ */
837
+ (query: string, options?: SuggestEstablishmentsOptions): Promise<NonNullablePaths<SuggestEstablishmentsResponse, `suggestions` | `suggestions.${number}.placeId` | `suggestions.${number}.description` | `suggestions.${number}.mainText` | `suggestions.${number}.secondaryText`, 4> & {
838
+ __applicationErrorsType?: SuggestEstablishmentsApplicationErrors;
839
+ }>;
840
+ }
841
+ declare function searchGoogleLocations$1(httpClient: HttpClient): SearchGoogleLocationsSignature;
842
+ interface SearchGoogleLocationsSignature {
843
+ /**
844
+ * Searches Google's Business Profile catalog for existing listings.
845
+ *
846
+ * Specify either a free-text query or a title and address. Each result is a real
847
+ * catalog entry, and carries a `matchStatus` saying whether it can be claimed.
848
+ *
849
+ * This doesn't need a connected Google account, so you can call it before the
850
+ * site owner connects one, for example to check whether a business already has a
851
+ * listing.
852
+ *
853
+ * Read `matchStatus` carefully, because it's about the catalog rather than about
854
+ * the site owner:
855
+ *
856
+ * - `CLAIMABLE`: no Google account has claimed this listing.
857
+ * - `OWNED_ELSEWHERE`: some Google account has claimed it. That account may well
858
+ * be the site owner's own, so don't present this as someone else's listing.
859
+ * Confirm ownership by connecting their account and calling List Unimported
860
+ * Locations.
861
+ *
862
+ * For lighter-weight suggestions while someone types, call Suggest
863
+ * Establishments, which returns autocomplete hints rather than catalog entries.
864
+ */
865
+ (options: SearchGoogleLocationsOptions): Promise<NonNullablePaths<SearchGoogleLocationsResponse, `matches` | `matches.${number}.location.name` | `matches.${number}.location.title` | `matches.${number}.location.languageCode` | `matches.${number}.location.primaryCategory._id` | `matches.${number}.location.primaryCategory.displayName` | `matches.${number}.location.profile.description` | `matches.${number}.location.storefrontAddress.countryCode` | `matches.${number}.location.storefrontAddress.postalCode` | `matches.${number}.location.storefrontAddress.administrativeArea` | `matches.${number}.location.storefrontAddress.locality` | `matches.${number}.location.serviceArea.businessType` | `matches.${number}.location.serviceArea.regionCode` | `matches.${number}.location.primaryPhone` | `matches.${number}.location.storeCode` | `matches.${number}.location.latLng.latitude` | `matches.${number}.location.latLng.longitude` | `matches.${number}.location.openInfo.status` | `matches.${number}.location.openInfo.canReopen` | `matches.${number}.location.metadata.canOperateLodgingData` | `matches.${number}.status`, 6> & {
866
+ __applicationErrorsType?: SearchGoogleLocationsApplicationErrors;
867
+ }>;
868
+ }
869
+
870
+ declare function customQueryGbpLocations(httpClient: HttpClient): {
871
+ (): LocationsQueryBuilder;
872
+ (query: GBPLocationQuery): ReturnType<typeof typedQueryGbpLocations>;
873
+ };
874
+ declare const getGbpLocation: MaybeContext<BuildRESTFunction<typeof getGbpLocation$1> & typeof getGbpLocation$1>;
875
+ declare const queryGoogleLocations: MaybeContext<BuildRESTFunction<typeof queryGoogleLocations$1> & typeof queryGoogleLocations$1>;
876
+ declare const getGoogleLocation: MaybeContext<BuildRESTFunction<typeof getGoogleLocation$1> & typeof getGoogleLocation$1>;
877
+ declare const createLocation: MaybeContext<BuildRESTFunction<typeof createLocation$1> & typeof createLocation$1>;
878
+ declare const updateLocation: MaybeContext<BuildRESTFunction<typeof updateLocation$1> & typeof updateLocation$1>;
879
+ declare const deleteLocation: MaybeContext<BuildRESTFunction<typeof deleteLocation$1> & typeof deleteLocation$1>;
880
+ declare const createGoogleLocation: MaybeContext<BuildRESTFunction<typeof createGoogleLocation$1> & typeof createGoogleLocation$1>;
881
+ declare const deleteGoogleLocation: MaybeContext<BuildRESTFunction<typeof deleteGoogleLocation$1> & typeof deleteGoogleLocation$1>;
882
+ declare const updateGoogleLocation: MaybeContext<BuildRESTFunction<typeof updateGoogleLocation$1> & typeof updateGoogleLocation$1>;
883
+ declare const bulkCreateLocations: MaybeContext<BuildRESTFunction<typeof bulkCreateLocations$1> & typeof bulkCreateLocations$1>;
884
+ declare const bulkDeleteLocations: MaybeContext<BuildRESTFunction<typeof bulkDeleteLocations$1> & typeof bulkDeleteLocations$1>;
885
+ declare const listGbpAccounts: MaybeContext<BuildRESTFunction<typeof listGbpAccounts$1> & typeof listGbpAccounts$1>;
886
+ declare const listUnimportedLocations: MaybeContext<BuildRESTFunction<typeof listUnimportedLocations$1> & typeof listUnimportedLocations$1>;
887
+ declare const listReviews: MaybeContext<BuildRESTFunction<typeof listReviews$1> & typeof listReviews$1>;
888
+ declare const putReviewReply: MaybeContext<BuildRESTFunction<typeof putReviewReply$1> & typeof putReviewReply$1>;
889
+ declare const deleteReviewReply: MaybeContext<BuildRESTFunction<typeof deleteReviewReply$1> & typeof deleteReviewReply$1>;
890
+ declare const listMedia: MaybeContext<BuildRESTFunction<typeof listMedia$1> & typeof listMedia$1>;
891
+ declare const createMedia: MaybeContext<BuildRESTFunction<typeof createMedia$1> & typeof createMedia$1>;
892
+ declare const deleteMedia: MaybeContext<BuildRESTFunction<typeof deleteMedia$1> & typeof deleteMedia$1>;
893
+ declare const updateLocationAttributes: MaybeContext<BuildRESTFunction<typeof updateLocationAttributes$1> & typeof updateLocationAttributes$1>;
894
+ declare const getLocationAttributes: MaybeContext<BuildRESTFunction<typeof getLocationAttributes$1> & typeof getLocationAttributes$1>;
895
+ declare const getLocationLodging: MaybeContext<BuildRESTFunction<typeof getLocationLodging$1> & typeof getLocationLodging$1>;
896
+ declare const updateLocationLodging: MaybeContext<BuildRESTFunction<typeof updateLocationLodging$1> & typeof updateLocationLodging$1>;
897
+ declare const listAttributeMetadata: MaybeContext<BuildRESTFunction<typeof listAttributeMetadata$1> & typeof listAttributeMetadata$1>;
898
+ declare const listCategories: MaybeContext<BuildRESTFunction<typeof listCategories$1> & typeof listCategories$1>;
899
+ declare const getVerificationOptions: MaybeContext<BuildRESTFunction<typeof getVerificationOptions$1> & typeof getVerificationOptions$1>;
900
+ declare const startVerification: MaybeContext<BuildRESTFunction<typeof startVerification$1> & typeof startVerification$1>;
901
+ declare const completeVerification: MaybeContext<BuildRESTFunction<typeof completeVerification$1> & typeof completeVerification$1>;
902
+ declare const getVoiceOfMerchant: MaybeContext<BuildRESTFunction<typeof getVoiceOfMerchant$1> & typeof getVoiceOfMerchant$1>;
903
+ declare const getLocationInsights: MaybeContext<BuildRESTFunction<typeof getLocationInsights$1> & typeof getLocationInsights$1>;
904
+ declare const listSearchKeywordImpressions: MaybeContext<BuildRESTFunction<typeof listSearchKeywordImpressions$1> & typeof listSearchKeywordImpressions$1>;
905
+ declare const inviteAdminToLocation: MaybeContext<BuildRESTFunction<typeof inviteAdminToLocation$1> & typeof inviteAdminToLocation$1>;
906
+ declare const getLocationAdmins: MaybeContext<BuildRESTFunction<typeof getLocationAdmins$1> & typeof getLocationAdmins$1>;
907
+ declare const getAddressSchemaByCountryCode: MaybeContext<BuildRESTFunction<typeof getAddressSchemaByCountryCode$1> & typeof getAddressSchemaByCountryCode$1>;
908
+ declare const suggestRegions: MaybeContext<BuildRESTFunction<typeof suggestRegions$1> & typeof suggestRegions$1>;
909
+ declare const suggestEstablishments: MaybeContext<BuildRESTFunction<typeof suggestEstablishments$1> & typeof suggestEstablishments$1>;
910
+ declare const searchGoogleLocations: MaybeContext<BuildRESTFunction<typeof searchGoogleLocations$1> & typeof searchGoogleLocations$1>;
911
+ declare const queryGbpLocations: MaybeContext<BuildRESTFunction<typeof customQueryGbpLocations> & typeof customQueryGbpLocations>;
912
+
913
+ export { BulkCreateLocationsApplicationErrors, BulkCreateLocationsOptions, BulkCreateLocationsResponse, BulkDeleteLocationsResponse, CompleteVerificationApplicationErrors, CompleteVerificationOptions, CompleteVerificationResponse, CreateGoogleLocationApplicationErrors, CreateGoogleLocationOptions, CreateGoogleLocationResponse, CreateLocationApplicationErrors, CreateMediaApplicationErrors, CreateMediaOptions, CreateMediaResponse, DeleteGoogleLocationApplicationErrors, DeleteMediaApplicationErrors, DeleteMediaIdentifiers, DeleteReviewReplyApplicationErrors, DeleteReviewReplyIdentifiers, GBPLocation, GBPLocationQuery, GetAddressSchemaByCountryCodeApplicationErrors, GetAddressSchemaByCountryCodeOptions, GetAddressSchemaByCountryCodeResponse, GetGoogleLocationResponse, GetLocationAdminsResponse, GetLocationAttributesApplicationErrors, GetLocationAttributesResponse, GetLocationInsightsOptions, GetLocationInsightsResponse, GetLocationLodgingApplicationErrors, GetLocationLodgingResponse, GetVerificationOptionsApplicationErrors, GetVerificationOptionsResponse, GetVoiceOfMerchantResponse, GoogleLocation, InsightsTimeRange, InviteAdminToLocationOptions, InviteAdminToLocationResponse, ListAttributeMetadataApplicationErrors, ListAttributeMetadataOptions, ListAttributeMetadataResponse, ListCategoriesApplicationErrors, ListCategoriesOptions, ListCategoriesResponse, ListGbpAccountsApplicationErrors, ListGbpAccountsOptions, ListGbpAccountsResponse, ListMediaApplicationErrors, ListMediaOptions, ListMediaResponse, ListReviewsApplicationErrors, ListReviewsOptions, ListReviewsResponse, ListSearchKeywordImpressionsApplicationErrors, ListSearchKeywordImpressionsOptions, ListSearchKeywordImpressionsResponse, ListUnimportedLocationsApplicationErrors, ListUnimportedLocationsOptions, ListUnimportedLocationsResponse, LocationAttribute, LocationsQueryBuilder, Lodging, MonthlyRange, PutReviewReplyApplicationErrors, PutReviewReplyIdentifiers, PutReviewReplyResponse, QueryGoogleLocationsOptions, QueryGoogleLocationsResponse, SearchGoogleLocationsApplicationErrors, SearchGoogleLocationsOptions, SearchGoogleLocationsResponse, StartVerificationApplicationErrors, StartVerificationOptions, StartVerificationResponse, SuggestEstablishmentsApplicationErrors, SuggestEstablishmentsOptions, SuggestEstablishmentsResponse, SuggestRegionsApplicationErrors, SuggestRegionsOptions, SuggestRegionsResponse, UpdateGoogleLocationApplicationErrors, UpdateGoogleLocationOptions, UpdateGoogleLocationResponse, UpdateLocation, UpdateLocationAttributesApplicationErrors, UpdateLocationAttributesResponse, UpdateLocationLodgingApplicationErrors, UpdateLocationLodgingOptions, UpdateLocationLodgingResponse, VerificationMethodWithLiterals, bulkCreateLocations, bulkDeleteLocations, completeVerification, createGoogleLocation, createLocation, createMedia, deleteGoogleLocation, deleteLocation, deleteMedia, deleteReviewReply, getAddressSchemaByCountryCode, getGbpLocation, getGoogleLocation, getLocationAdmins, getLocationAttributes, getLocationInsights, getLocationLodging, getVerificationOptions, getVoiceOfMerchant, inviteAdminToLocation, listAttributeMetadata, listCategories, listGbpAccounts, listMedia, listReviews, listSearchKeywordImpressions, listUnimportedLocations, putReviewReply, queryGbpLocations, queryGoogleLocations, searchGoogleLocations, startVerification, suggestEstablishments, suggestRegions, updateGoogleLocation, updateLocation, updateLocationAttributes, updateLocationLodging };