/** * @license * Copyright 2023 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /// import { PropertyValues } from 'lit'; import { RouteDataConsumer } from '../route_data_consumer.js'; import { LatLngBounded } from '../viewport_manager.js'; /** * Renders a polyline indicating the path of a route. */ export declare class RoutePolyline extends RouteDataConsumer implements LatLngBounded { /** * Whether or not to automatically adjust the map's viewport to include the * polyline. */ fitInViewport: boolean; /** * Whether or not the polyline is invisible or visible on the map. */ invisible: boolean; /** * Stroke color of the polyline. All CSS3 colors are supported except for * extended named colors. */ strokeColor?: string; /** * The stroke opacity of the polyline between 0.0 and 1.0. */ strokeOpacity?: number; /** * The stroke width of the polyline in pixels. */ strokeWeight?: number; /** * The z-index of the polyline compared to other polys. */ zIndex?: number; private readonly innerPolylineDeferred; /** * The inner `google.maps.Polyline` from the Maps JS API. This value is set * once `innerPolylinePromise` is resolved. */ get innerPolyline(): google.maps.Polyline | undefined; /** * Resolves to the inner polyline when it's ready. It might not be ready * immediately because the `Polyline` class is loaded asynchronously from * the Maps JS API. */ get innerPolylinePromise(): Promise; private readonly mapController; constructor(); private initPolyline; connectedCallback(): Promise; disconnectedCallback(): void; protected updated(changedProperties: PropertyValues): void; /** * Returns the `LatLngBounds` of the polyline that should be included in the * map's viewport, for use by the `ViewportManager`. * @ignore */ getBounds(): google.maps.LatLngBounds | null; private setInnerPolylineOptions; private updatePath; } declare global { interface HTMLElementTagNameMap { 'gmpx-route-polyline': RoutePolyline; } }