import { GoogleMapsMarkerModel } from './google-maps-marker.model';
import { GoogleMapsCircleModel } from './google-maps-circle.model';
import { GoogleMapsPolylineModel } from './google-maps-polyline.model';
import { GoogleMapsPolygonModel } from './google-maps-polygon.model';
import { CoreModel } from '../core/core.model';
export declare class GoogleMapsModel extends CoreModel {
    /**
     * The latitude that defines the center of the map. Required.
     */
    latitude: number;
    /**
     * The longitude that defines the center of the map. Required.
     */
    longitude: number;
    /**
     * The zoom level of the map. From 0 to 16. The default zoom level is 8.
     */
    zoom?: number;
    /**
     * Enables/disables if map is draggable. Enabled by default.
     */
    mapDraggable?: boolean;
    /**
     * When true and the latitude and/or longitude values changes, the Google Maps panTo method is to the map. See: https://developers.google.com/maps/documentation/javascript/reference#Map
     */
    usePanning?: boolean;
    /**
     * Enables/disables zoom and center on double click. Enabled by default.
     */
    disableDoubleClickZoom?: boolean;
    /**
     * Enables/disables all default UI of the Google map. Please note: when the map is created, this cannot get updated.
     */
    disableDefaultUI?: boolean;
    /**
     * If false, disables scrollwheel zooming on the map. The scrollwheel is enabled by default.
     */
    scrollwheel?: boolean;
    /**
     * Color used for the background of the Map div. This color will be visible when tiles have not loaded as the user pans. This option can only be set when the map is initialized.
     */
    backgroundColor?: string;
    /**
     * The name or url of the cursor to display when mousing over a draggable map. This property uses css cursor attribute to change the icon. As with the css property, you must specify atone fallback cursor that is not a URL. For example: [draggableCursor]="'url(http://www.example.com/icon.png\, auto;'"
     */
    draggableCursor?: string;
    /**
     * The name or url of the cursor to display when the map is being dragged. This property uses the cursor attribute to change the icon. As with the css property, you must specify at leastfallback cursor that is not a URL. For example: [draggingCursor]="'url(http://www.example.com/icon.png\, auto;'"
     */
    draggingCursor?: string;
    /**
     * If false, prevents the map from being controlled by the keyboard. Keyboard shortcuts are enabled by default.
     */
    keyboardShortcuts?: boolean;
    /**
     * The enabled/disabled state of the Zoom control.
     */
    zoomControl?: boolean;
    /**
     * Styles to apply to each of the default map types. Note that for Satellite/Hybrid and Terrain, these styles will only apply to labels and geometry.
     */
    styles?: string;
    /**
     * The initial enabled/disabled state of the Street View Pegman control. Control is part of the default UI, and should be set to false when displaying a map type, which the Street View road overlay should not appear (e.g. a non-Earth map type).
     */
    streetViewControl?: boolean;
    /**
     * Sets the viewport to contain the given bounds.
     */
    fitBounds?: boolean;
    /**
     * The initial enabled/disabled state of the Scale control. This is disabled by default.
     */
    scaleControl?: boolean;
    /**
     * The initial enabled/disabled state of the Map type control.
     */
    mapTypeControl?: boolean;
    /**
     * Array with markers of type GoogleMapsMarkerModel
     */
    markers?: GoogleMapsMarkerModel[];
    /**
     * Array with circles of type GoogleMapsCircleModel
     */
    circles?: GoogleMapsCircleModel[];
    /**
     * Array with polylines of type GoogleMapsPolylineModel
     */
    polylines?: GoogleMapsPolylineModel[];
    /**
     * Array with polygons of type GoogleMapsPolygonModel
     */
    polygons?: GoogleMapsPolygonModel[];
    /** @hidden */
    constructor(values?: Object);
}
