/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /// import type { LatLng, LatLngLiteral, PlaceResult } from '../utils/googlemaps_types.js'; type ValuesOf = T[keyof T]; /** Capabilities for a Store Locator component. */ export declare const FeatureSet: { readonly ADVANCED: "advanced"; readonly INTERMEDIATE: "intermediate"; readonly BASIC: "basic"; }; export type FeatureSet = ValuesOf; /** * Defines an individual location (store, business, etc) to be displayed in * ``. */ export declare interface StoreLocatorListing { /** Name of the location or store */ title: string; /** Address lines, used when displaying the list. */ addressLines?: string[]; /** Geographic coordinates of the location */ position: LatLng | LatLngLiteral; /** Place ID for this location, used to retrieve additional details */ placeId?: string; /** Optional list of additional actions to display with each location */ actions?: StoreLocatorAction[]; } /** Defines an action button for a `StoreLocatorListing`. */ export declare interface StoreLocatorAction { /** Button label for this action */ label: string; /** * URI that will be opened in a new tab. If unspecified, it is * up to the client code to implement behavior on click. */ defaultUri?: string; } /** * Internal data structure to augment a `StoreLocatorListing` with additional * information. */ export interface InternalListing extends StoreLocatorListing { /** Key for Lit to use when identifying a listing element. */ uniqueKey: string; /** * Listing expressed as a `google.maps.PlaceResult`, used with the Place * Data Provider. */ placeResult: PlaceResult; /** Reference to the `
  • ` DOM element for this listing in the left panel. */ listingElement?: Element; } /** A single action button as represented in Quick Builder Locator Plus. */ export declare interface QuickBuilderAction { label?: string; defaultUrl?: string; } /** A single listing as represented in Quick Builder Locator Plus. */ export declare interface QuickBuilderLocation { title?: string; address1?: string; address2?: string; coords?: LatLngLiteral; placeId?: string; actions?: QuickBuilderAction[]; } /** Capabilities schema used by Quick Builder Locator Plus. */ export declare interface QuickBuilderCapabilities { input?: boolean; autocomplete?: boolean; directions?: boolean; distanceMatrix?: boolean; details?: boolean; actions?: boolean; } /** Configuration schema used by Quick Builder Locator Plus. */ export declare interface QuickBuilderConfiguration { locations?: QuickBuilderLocation[]; mapOptions?: Partial; mapsApiKey?: string; capabilities?: QuickBuilderCapabilities; } export {};