/*!
 * devextreme-react
 * Version: 22.2.6
 * Build date: Tue Apr 18 2023
 *
 * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
 *
 * This software may be modified and distributed under the terms
 * of the MIT license. See the LICENSE file in the root of the project for details.
 *
 * https://github.com/DevExpress/devextreme-react
 */
/// 
import dxMap, { Properties } from "devextreme/ui/map";
import { Component as BaseComponent, IHtmlOptions } from "./core/component";
import NestedOption from "./core/nested-option";
declare type IMapOptions = React.PropsWithChildren void;
    onMarkersChange?: (value: any) => void;
    onRoutesChange?: (value: any) => void;
    onZoomChange?: (value: any) => void;
}>;
declare class Map extends BaseComponent> {
    get instance(): dxMap;
    protected _WidgetClass: typeof dxMap;
    protected subscribableOptions: string[];
    protected independentEvents: string[];
    protected _defaults: {
        defaultCenter: string;
        defaultMarkers: string;
        defaultRoutes: string;
        defaultZoom: string;
    };
    protected _expectedChildren: {
        apiKey: {
            optionName: string;
            isCollectionItem: boolean;
        };
        center: {
            optionName: string;
            isCollectionItem: boolean;
        };
        marker: {
            optionName: string;
            isCollectionItem: boolean;
        };
        route: {
            optionName: string;
            isCollectionItem: boolean;
        };
    };
}
declare type IApiKeyProps = React.PropsWithChildren<{
    bing?: any;
    google?: any;
    googleStatic?: any;
}>;
declare class ApiKey extends NestedOption {
    static OptionName: string;
}
declare type ICenterProps = React.PropsWithChildren<{
    lat?: any;
    lng?: any;
}>;
declare class Center extends NestedOption {
    static OptionName: string;
}
declare type ILocationProps = React.PropsWithChildren<{
    lat?: any;
    lng?: any;
}>;
declare class Location extends NestedOption {
    static OptionName: string;
}
declare type IMarkerProps = React.PropsWithChildren<{
    iconSrc?: any;
    location?: object | string | {
        lat?: any;
        lng?: any;
    }[];
    onClick?: any;
    tooltip?: object | string | {
        isShown?: any;
        text?: any;
    };
}>;
declare class Marker extends NestedOption {
    static OptionName: string;
    static IsCollectionItem: boolean;
    static ExpectedChildren: {
        location: {
            optionName: string;
            isCollectionItem: boolean;
        };
        tooltip: {
            optionName: string;
            isCollectionItem: boolean;
        };
    };
}
declare type IRouteProps = React.PropsWithChildren<{
    color?: any;
    locations?: {
        lat?: any;
        lng?: any;
    }[];
    mode?: any;
    opacity?: any;
    weight?: any;
}>;
declare class Route extends NestedOption {
    static OptionName: string;
    static IsCollectionItem: boolean;
    static ExpectedChildren: {
        location: {
            optionName: string;
            isCollectionItem: boolean;
        };
    };
}
declare type ITooltipProps = React.PropsWithChildren<{
    isShown?: any;
    text?: any;
}>;
declare class Tooltip extends NestedOption {
    static OptionName: string;
}
export default Map;
export { Map, IMapOptions, ApiKey, IApiKeyProps, Center, ICenterProps, Location, ILocationProps, Marker, IMarkerProps, Route, IRouteProps, Tooltip, ITooltipProps };