///
import { ElementRef } from '@angular/core';
import { GoogleMapsComponentBase, WrappedNativeFunctions } from '@bespunky/angular-google-maps/core';
import { IGoogleMapsDrawableOverlay, IGoogleMapsInfoWindow } from '@bespunky/angular-google-maps/overlays';
/** A type for the native functions of a directions renderer which should be wrapped. Used along with the extension interface for the wrapper. */
export declare type WrappedDirectionsFunctions = WrappedNativeFunctions;
/**
* Represents the functionality that a directions wrapper should provide.
*
* @export
* @interface IGoogleMapsDirections
* @extends {IGoogleMapsDrawableOverlay}
* @extends {WrappedDirectionsFunctions}
*/
export interface IGoogleMapsDirections extends IGoogleMapsDrawableOverlay, WrappedDirectionsFunctions {
getPanel(): ElementRef;
setPanel(element: ElementRef | HTMLElement): void;
setDraggable(draggable: boolean): void;
setHideRouteList(hideRouteList: boolean): void;
setInfoWindow(infoWindow: GoogleMapsComponentBase | IGoogleMapsInfoWindow): void;
setMarkerOptions(markerOptions: google.maps.MarkerOptions): void;
setPolylineOptions(polylineOptions: google.maps.PolylineOptions): void;
setPreserveViewport(preserveViewport: boolean): void;
setSuppressBicyclingLayer(suppressBicyclingLayer: boolean): void;
setSuppressInfoWindows(suppressInfoWindows: boolean): void;
setSuppressMarkers(suppressMarkers: boolean): void;
setSuppressPolylines(suppressPolylines: boolean): void;
}